using System; using Kreta.Client.Kir.Models; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.Util; using Kreta.Framework.Util; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class KirKontenerStatuszDAL : DataAccessBase, IKirKontenerStatuszDAL { public KirKontenerStatuszDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters) { } public KirKontenerStatuszDAL(DalHandler handler) : base(handler) { } public IKIRKontenerStatusz Get() { return KIRKontenerStatusz.GiveAnInstance(); } public IKIRKontenerStatusz Get(int id) { var entity = KIRKontenerStatusz.GiveAnInstance(); entity.LoadByID(id); return entity; } public void FullUpdate(IKIRKontenerStatusz dto) { var entity = dto as KIRKontenerStatusz; entity.FullUpdate(true); DalHelper.Commit(); } public void Update(IKIRKontenerStatusz dto) { var entity = dto as KIRKontenerStatusz; entity.FullUpdate(); DalHelper.Commit(); } public void Insert(IKIRKontenerStatusz dto) { var entity = dto as KIRKontenerStatusz; entity.Insert(true); dto.ID = entity.ID; DalHelper.Commit(); } public void InsertByKirKontener(IKIRKontener kirKontener, KirKerelemModel.StatuszLekerdezesResponseModel statuszResponseModel) { var entity = KIRKontenerStatusz.GiveAnInstance(); if (statuszResponseModel.Messages != null) { Array.ForEach(statuszResponseModel.Messages, x => { entity.MessageCode = x.Code; entity.MessageSource = x.Source; entity.MessageText = x.Type.ToString(); }); } entity.Kod = statuszResponseModel.KontenerStatusz.KontenerStatuszKod; entity.Leiras = statuszResponseModel.KontenerStatusz.KontenerStatuszLeiras; entity.KIRKontenerId = kirKontener.ID; entity.Insert(); DalHelper.Commit(); } public void Delete(int id) { var entity = KIRKontenerStatusz.GiveAnInstance(); entity.LoadByID(id); entity.Delete(); DalHelper.Commit(); } } }