using System; using System.Linq; 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 KirKontenerElemStatuszDAL : DataAccessBase, IKirKontenerElemStatuszDAL { public KirKontenerElemStatuszDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters) { } public KirKontenerElemStatuszDAL(DalHandler handler) : base(handler) { } public IKIRKontenerElemStatusz Get() { return KIRKontenerElemStatusz.GiveAnInstance(); } public IKIRKontenerElemStatusz Get(int id) { var entity = KIRKontenerElemStatusz.GiveAnInstance(); entity.LoadByID(id); return entity; } public void FullUpdate(IKIRKontenerElemStatusz dto) { var entity = dto as KIRKontenerElemStatusz; entity.FullUpdate(true); DalHelper.Commit(); } public void Update(IKIRKontenerElemStatusz dto) { var entity = dto as KIRKontenerElemStatusz; entity.FullUpdate(); DalHelper.Commit(); } public void Insert(IKIRKontenerElemStatusz dto) { var entity = dto as KIRKontenerElemStatusz; entity.Insert(true); dto.ID = entity.ID; DalHelper.Commit(); } public void InsertManyByKirKontener(IKIRKontener kirKontener, KirKerelemModel.StatuszLekerdezesResponseModel statuszResponseModel) { Array.ForEach(statuszResponseModel.KontenerStatusz.KontenerElemStatuszok, x => { var entity = KIRKontenerElemStatusz.GiveAnInstance(); var kirKontenerElemEntityElement = kirKontener.KIRKontenerElem.Where(y => !y.Torolt); if (kirKontenerElemEntityElement != null && !kirKontenerElemEntityElement.Any()) { return; } entity.KIRKontenerElemId = kirKontenerElemEntityElement.FirstOrDefault(y => y.NebuloId == Convert.ToInt32(x.KontenerElemID)).ID; entity.AtmenetIdopont = x.StatuszInfo.StatuszAtmenetIdopont; entity.Kod = x.StatuszInfo.StatuszKod; entity.Leiras = x.StatuszInfo.StatuszLeiras; entity.Uzenet = x.StatuszInfo.StatuszUzenet; entity.Insert(); DalHelper.Commit(); }); } public void Delete(int id) { var entity = KIRKontenerElemStatusz.GiveAnInstance(); entity.LoadByID(id); entity.Delete(); DalHelper.Commit(); } } }