54 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|
|
} |