Files
BeWoPlaner/Service/DCEntityMapper/ArbeitszeitDC_Arbeitszeit.cs
2019-09-27 15:55:01 +02:00

63 lines
2.2 KiB
C#

using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class ArbeitszeitDC_Arbeitszeit : AbstractIDCEntityMapper<Arbeitszeit, ArbeitszeitDC>
{
public override ArbeitszeitDC MergeWithDC(Arbeitszeit pEntity, ArbeitszeitDC pDataContract)
{
pDataContract.ArbeitszeitOid = pEntity.Oid;
pDataContract.EmployeeOid = pEntity.EmployeeOid;
pDataContract.GueltigVon = pEntity.GueltigVon;
pDataContract.GueltigBis = pEntity.GueltigBis;
pDataContract.Notice = pEntity.Notice;
if(pEntity.Customer != null)
{
pDataContract.Customer = MapperFactory.CompactCustomerDC_Customer.MapToNewDC(pEntity.Customer);
}
if (pEntity.ArbeitszeitEintraege != null)
{
pDataContract.Eintraege = MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MapToNewDCs(pEntity.ArbeitszeitEintraege);
}
return pDataContract;
}
public override Arbeitszeit MergeWithEntity(ArbeitszeitDC pDataContract, Arbeitszeit pEntity)
{
pEntity.EmployeeOid = pDataContract.EmployeeOid;
pEntity.GueltigVon = pDataContract.GueltigVon;
pEntity.GueltigBis = pDataContract.GueltigBis;
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.ArbeitszeitOid;
if(pDataContract.Customer != null)
{
MapperFactory.CompactCustomerDC_Customer.MapToNewEntity(pDataContract.Customer);
}
if(pDataContract.Eintraege != null)
{
MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MergeWithEntitys(pDataContract.Eintraege, pEntity.ArbeitszeitEintraege);
}
return pEntity;
}
protected override bool AreDCAndEntityEqual(ArbeitszeitDC pDC, Arbeitszeit pEntity)
{
if (pDC.ArbeitszeitOid == null)
{
return false;
}
return pDC.ArbeitszeitOid == pEntity.Oid;
}
}
}