kreta/Kreta.DataAccessManual/KirKontenerElemStatuszDAL.cs
2024-03-13 00:33:46 +01:00

86 lines
2.8 KiB
C#

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();
}
}
}