50 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|