Files
BeWoPlaner/Service/DCEntityMapper/ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature.cs

74 lines
2.8 KiB
C#

using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class ConfirmationReceiptSignatureDC_ConfirmationReceiptSignature : AbstractIDCEntityMapper<ConfirmationReceiptSignature, ConfirmationReceiptSignatureDC>
{
public override ConfirmationReceiptSignatureDC MergeWithDC(ConfirmationReceiptSignature pEntity, ConfirmationReceiptSignatureDC pDataContract)
{
pDataContract.ConfirmationReceiptSignatureOid = pEntity.Oid;
pDataContract.ConfirmationReceiptSignatureVersion = pEntity.Version;
pDataContract.SignatureImage = pEntity.SignatureImage;
pDataContract.CustomerOid = pEntity.CustomerOid;
pDataContract.SignatureType = pEntity.SignatureType;
pDataContract.TimeSpanString = pEntity.TimeSpanString;
pDataContract.ServiceRecords = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDCs(pEntity.ServiceRecords);
pDataContract.InsTs = pEntity.InsTs;
if(pEntity.Employee != null)
{
pDataContract.Employee = MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(pEntity.Employee);
}
return pDataContract;
}
public override ConfirmationReceiptSignature MergeWithEntity(ConfirmationReceiptSignatureDC pDataContract, ConfirmationReceiptSignature pEntity)
{
ConcurrencyCheck(pDataContract.ConfirmationReceiptSignatureVersion, pEntity);
pEntity.Oid = pDataContract.ConfirmationReceiptSignatureOid;
pEntity.Version = pDataContract.ConfirmationReceiptSignatureVersion;
pEntity.SignatureImage = pDataContract.SignatureImage;
pEntity.CustomerOid = pDataContract.CustomerOid;
pEntity.SignatureType = pDataContract.SignatureType;
pEntity.TimeSpanString = pDataContract.TimeSpanString;
pEntity.InsTs = pDataContract.InsTs;
if(pDataContract.ServiceRecords != null)
{
pEntity.ServiceRecords = DAOFactory.GenericDAO.LoadByIDs<ServiceRecord>(pDataContract.ServiceRecords.Select(s => s.ServiceRecordOid.Value));
}
if(pDataContract.Employee != null)
{
pEntity.Employee = DAOFactory.GenericDAO.LoadByID<Employee>(pDataContract.Employee.EmployeeOid);
}
return pEntity;
}
protected override bool AreDCAndEntityEqual(ConfirmationReceiptSignatureDC pDC, ConfirmationReceiptSignature pEntity)
{
if(pDC.ConfirmationReceiptSignatureOid == null)
{
return false;
}
return pDC.ConfirmationReceiptSignatureOid == pEntity.Oid;
}
}
}