Files
BeWoPlaner/Service/DCEntityMapper/NotizenEintragDC_NotizenEintrag.cs
2019-08-09 16:40:41 +02:00

54 lines
1.9 KiB
C#

using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using NHibernate.Mapping;
namespace BeWo.Service.DCEntityMapper
{
public class NotizenEintragDC_NotizenEintrag : AbstractIDCEntityMapper<NotizenEintrag, NotizenEintragDC>
{
public override NotizenEintragDC MergeWithDC(NotizenEintrag pEntity, NotizenEintragDC pDataContract)
{
pDataContract.NotizenEintragOid = pEntity.Oid;
pDataContract.NotizenEintragVersion = pEntity.Version;
pDataContract.Datum = pEntity.Datum;
pDataContract.Notice = pEntity.Notice;
pDataContract.InsUser = pEntity.InsUser;
pDataContract.InsTs = pEntity.InsTs;
pDataContract.EintragKategorieDC = pEntity.EintragKategorie != null ? MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(pEntity.EintragKategorie) : null;
return pDataContract;
}
public override NotizenEintrag MergeWithEntity(NotizenEintragDC pDataContract, NotizenEintrag pEntity)
{
ConcurrencyCheck(pDataContract.NotizenEintragVersion, pEntity);
pEntity.Oid = pDataContract.NotizenEintragOid;
pEntity.Datum = pDataContract.Datum;
pEntity.Notice = pDataContract.Notice;
if (pDataContract.EintragKategorieDC == null)
{
pEntity.EintragKategorie = null;
}
else if (pEntity.EintragKategorie == null || pEntity.EintragKategorie.Oid != pDataContract.EintragKategorieDC.ValueListEntryOid)
{
pEntity.EintragKategorie = DAOFactory.GenericDAO.LoadByID<ValueListEntry>(pDataContract.EintragKategorieDC.ValueListEntryOid.Value);
}
return pEntity;
}
protected override bool AreDCAndEntityEqual(NotizenEintragDC pDC, NotizenEintrag pEntity)
{
if (pDC.NotizenEintragOid == null)
{
return false;
}
return pDC.NotizenEintragOid == pEntity.Oid;
}
}
}