63 lines
2.2 KiB
C#
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;
|
|
}
|
|
}
|
|
} |