using System.Linq; 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 KirKontenerElemDAL : DataAccessBase, IKirKontenerElemDAL { public KirKontenerElemDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters) { } public KirKontenerElemDAL(DalHandler handler) : base(handler) { } public IKIRKontenerElem Get() { return KIRKontenerElem.GiveAnInstance(); } public IKIRKontenerElem Get(int id) { var entity = KIRKontenerElem.GiveAnInstance(); entity.LoadByID(id); return entity; } public void FullUpdate(IKIRKontenerElem dto) { var entity = dto as KIRKontenerElem; entity.FullUpdate(true); DalHelper.Commit(); } public void Update(IKIRKontenerElem dto) { var entity = dto as KIRKontenerElem; entity.FullUpdate(); DalHelper.Commit(); } public void Insert(IKIRKontenerElem dto) { var entity = dto as KIRKontenerElem; entity.Insert(true); dto.ID = entity.ID; DalHelper.Commit(); } public void Delete(int id) { var entity = KIRKontenerElem.GiveAnInstance(); entity.LoadByID(id); entity.KIRKontenerElemStatusz.RemoveAll(); entity.Delete(); DalHelper.Commit(); } public void DeleteManyByNebulo(int id) { var entity = Nebulo.GiveAnInstance(); entity.LoadByID(id); var kirKontenerElemStatuszEntity = entity.KIRKontenerElem; var kirKontenerElemStatuszEntityList = kirKontenerElemStatuszEntity.Where(x => !x.Torolt).ToList(); kirKontenerElemStatuszEntityList.ForEach(x => { x.KIRKontenerElemStatusz.DeleteAll(); x.Delete(); DalHelper.Commit(); }); } } }