Files
BeWoPlaner/Service/DCEntityMapper/OvertimeDC_Overtime.cs
2016-06-27 01:45:38 +02:00

50 lines
1.5 KiB
C#

using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class OvertimeDC_Overtime : AbstractIDCEntityMapper<Overtime, OvertimeDC>
{
public override OvertimeDC MergeWithDC(Overtime pEntity, OvertimeDC pDataContract)
{
if (pEntity.Auszahlungsart != null)
{
pDataContract.Auszahlungsart = MapperFactory.AuszahlungsartDC_Auszahlungsart.MapToNewDC(pEntity.Auszahlungsart);
}
pDataContract.Betrag = pEntity.Betrag;
pDataContract.Date = pEntity.Date;
pDataContract.EmployeeOid = pEntity.EmployeeOid;
pDataContract.Notice = pEntity.Notice;
pDataContract.OvertimeOid = pEntity.Oid;
pDataContract.OvertimeVersion = pEntity.Version;
return pDataContract;
}
public override Overtime MergeWithEntity(OvertimeDC pDataContract, Overtime pEntity)
{
ConcurrencyCheck(pDataContract.OvertimeVersion, pEntity);
if (pDataContract.Auszahlungsart != null && pDataContract.Auszahlungsart.AuszahlungsartOid.HasValue)
pEntity.Auszahlungsart = DAOFactory.GenericDAO.LoadByID<Auszahlungsart>(pDataContract.Auszahlungsart.AuszahlungsartOid.Value);
pEntity.Betrag = pDataContract.Betrag;
pEntity.Date = pDataContract.Date;
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.OvertimeOid;
return pEntity;
}
protected override bool AreDCAndEntityEqual(OvertimeDC pDC, Overtime pEntity)
{
if (pDC.OvertimeOid == null)
return false;
return pDC.OvertimeOid == pEntity.Oid;
}
}
}