Files
BeWoPlaner/Service/DCEntityMapper/PreisDC_Preis.cs
2021-08-17 17:12:52 +02:00

65 lines
2.2 KiB
C#

using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts;
using System.Collections.Generic;
using BS.Shared.Core;
namespace BeWo.Service.DCEntityMapper
{
public class PreisDC_Preis : AbstractIDCEntityMapper<Preis, PreisDC>
{
public override PreisDC MergeWithDC(Preis bEntity, PreisDC bDataContract)
{
bDataContract.PreisOid = bEntity.Oid;
bDataContract.PreisIsActive = bEntity.IsActive;
bDataContract.PreisNotice = bEntity.Notice;
bDataContract.PreisInsTs = bEntity.InsTs;
bDataContract.PreisInsUser = bEntity.InsUser;
bDataContract.PreisVersion = bEntity.Version;
bDataContract.PreisUdpUser = bEntity.UdpUser;
bDataContract.PreisSystemEntryID = bEntity.SystemEntryID;
bDataContract.Name = bEntity.Name;
bDataContract.Betrag = bEntity.Betrag;
bDataContract.IsSystemEntry = bEntity.SystemEntryID != null;
bDataContract.DoNotCheckOverlapping = bEntity.DoNotCheckOverlapping.HasValue && bEntity.DoNotCheckOverlapping.Value;
bDataContract.ActivationType = bEntity.IsActive;
bDataContract.CostRatePeriods = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(bEntity.CostRatePeriods);
return bDataContract;
}
public override Preis MergeWithEntity(PreisDC bDataContract, Preis bEntity)
{
this.ConcurrencyCheck(bDataContract.PreisVersion, bEntity);
bEntity.Oid = bDataContract.PreisOid;
bEntity.Notice = bDataContract.PreisNotice;
bEntity.SystemEntryID = bDataContract.PreisSystemEntryID;
bEntity.Name = bDataContract.Name;
bEntity.Betrag = bDataContract.Betrag;
bEntity.InsTs = bDataContract.PreisInsTs;
bEntity.DoNotCheckOverlapping = bDataContract.DoNotCheckOverlapping;
MapperFactory.CostRatePeriodDC_CostRatePeriod.MergeWithEntitys(bDataContract.CostRatePeriods, bEntity.CostRatePeriods);
foreach (var costRatePeriod in bEntity.CostRatePeriods)
{
costRatePeriod.ObjectTid = TableID.Preis;
}
return bEntity;
}
protected override bool AreDCAndEntityEqual(PreisDC bDC, Preis bEntity)
{
if (bDC.PreisOid == null)
{
return false;
}
return bDC.PreisOid == bEntity.Oid;
}
}
}