Files
BeWoPlaner/Service/DCEntityMapper/ServiceRecordDC_ServiceRecordCompact.cs
2017-02-01 13:53:59 +01:00

59 lines
2.6 KiB
C#

using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class ServiceRecordDC_ServiceRecordCompact : AbstractIDCEntityMapper<ServiceRecord, ServiceRecordDC>
{
public override ServiceRecordDC MergeWithDC(ServiceRecord pEntity, ServiceRecordDC pDataContract)
{
pDataContract.ServiceRecordOid = pEntity.Oid;
pDataContract.ServiceRecordVersion = pEntity.Version;
pDataContract.Start = pEntity.Start;
pDataContract.End = pEntity.End;
pDataContract.Notice = pEntity.Notice;
pDataContract.ServiceRecordType = pEntity.ServiceRecordType ?? ServiceRecordTypeId.DefaultActivity;
// ? pEntity.ServiceRecordType.Value
// : ServiceRecordTypeId.DefaultActivity;
if (pEntity.ServiceDescription != null)
{
pDataContract.ServiceDescription = MapperFactory.ServiceDescriptionDC_ServiceDescription.MapToNewDC(pEntity.ServiceDescription);
}
pDataContract.WohnheimbuchungsOid = pEntity.WohnheimbuchungsOid;
pDataContract.RoundedDuration = pEntity.RoundedDuration;
pDataContract.InsertedOn = pEntity.InsTs;
pDataContract.InsUser = pEntity.InsUser;
pDataContract.GroupEmployeeCount = pEntity.GroupEmployeeCount;
pDataContract.GroupPersonCount = pEntity.GroupPersonCount;
pDataContract.GroupRoundedDuration = pEntity.GroupRoundedDuration;
pDataContract.GroupOid = pEntity.GroupOid;
if (!pEntity.GroupOid.HasValue && pEntity.GroupPersonCount.HasValue && pEntity.GroupEmployeeCount.HasValue &&
pEntity.GroupPersonCount.Value == 1 && pEntity.GroupEmployeeCount.Value == 1)
{
pDataContract.GroupEmployeeCount = null;
pDataContract.GroupPersonCount = null;
pDataContract.GroupRoundedDuration = null;
}
return pDataContract;
}
public override ServiceRecord MergeWithEntity(ServiceRecordDC pDataContract, ServiceRecord pEntity)
{
return null;
}
protected override bool AreDCAndEntityEqual(ServiceRecordDC pDC, ServiceRecord pEntity)
{
if (pDC.ServiceRecordOid == null)
{
return false;
}
return pDC.ServiceRecordOid == pEntity.Oid;
}
}
}