59 lines
2.6 KiB
C#
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;
|
|
}
|
|
}
|
|
} |