Files
BeWoPlaner/Service/DCEntityMapper/GkvAbrechnungDC_GkvAbrechnung.cs
Rene Evertz f5d85d4c56 KApp -> App8: GetIKNummern
Abrechnungscode + Tarifkennzeichen werden übergeben
Meldung, falls IK nicht hinterlegt ist
2024-07-19 14:41:49 +02:00

83 lines
3.3 KiB
C#

using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.GkvAbrechnung;
using NHibernate.Linq;
using System.Collections.Generic;
using System.Linq;
namespace BeWo.Service.DCEntityMapper
{
public class GkvAbrechnungDC_GkvAbrechnung : AbstractIDCEntityMapper<GkvAbrechnung, GkvAbrechnungDC>
{
public override GkvAbrechnungDC MergeWithDC(GkvAbrechnung pEntity, GkvAbrechnungDC pDataContract)
{
if(pEntity.InvoiceBases == null || !pEntity.InvoiceBases.Any())
{
}
var orga = pEntity.GetOrganisation();
pDataContract.GkvAbrechnungOid = pEntity.Oid;
pDataContract.GkvAbrechnungVersion = pEntity.Version;
pDataContract.Notice = pEntity.Notice;
pDataContract.AbrechnungsZeitraumStart = pEntity.AbrechnungsZeitraumStart;
pDataContract.AbrechnungsZeitraumEnde = pEntity.AbrechnungsZeitraumEnde;
pDataContract.Betrag = pEntity.Betrag;
pDataContract.Bezahlt = pEntity.Bezahlt;
pDataContract.ErstelltAm = pEntity.ErstelltAm;
pDataContract.InvoiceBases = MapperFactory.InvoiceBaseDC_InvoiceBase.MapToNewDCs(pEntity.InvoiceBases);
pDataContract.Organisation = MapperFactory.OrganisationDC_OrganisationMapper.MapToNewDC(orga);
pDataContract.TransferProtokolle = MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MapToNewDCs(pEntity.GkvTransferProtokolle);
return pDataContract;
}
public override GkvAbrechnung MergeWithEntity(GkvAbrechnungDC pDataContract, GkvAbrechnung pEntity)
{
this.ConcurrencyCheck(pDataContract.GkvAbrechnungVersion, pEntity);
pEntity.Oid = pDataContract.GkvAbrechnungOid;
pEntity.Version = pDataContract.GkvAbrechnungVersion;
pEntity.Notice = pDataContract.Notice;
pEntity.AbrechnungsZeitraumStart = pDataContract.AbrechnungsZeitraumStart;
pEntity.AbrechnungsZeitraumEnde = pDataContract.AbrechnungsZeitraumEnde;
pEntity.Betrag = pDataContract.Betrag;
pEntity.Bezahlt = pDataContract.Bezahlt;
pEntity.ErstelltAm = pDataContract.ErstelltAm;
if (pEntity.GkvTransferProtokolle is null)
pEntity.GkvTransferProtokolle = new List<GkvTransferProtokoll>();
MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MergeWithEntitys(pDataContract.TransferProtokolle, pEntity.GkvTransferProtokolle);
if (pEntity.InvoiceBases is null)
pEntity.InvoiceBases = new List<InvoiceBase>();
pEntity.InvoiceBases = DAOFactory.GenericDAO.LoadByIDs<InvoiceBase>(pDataContract.InvoiceBases.Select(x => x.InvoiceBaseOid.Value));
//MapperFactory.InvoiceBaseDC_InvoiceBase.MergeWithEntitys(pDataContract.InvoiceBases, pEntity.InvoiceBases);
return pEntity;
}
protected override bool AreDCAndEntityEqual(GkvAbrechnungDC pDC, GkvAbrechnung pEntity)
{
if (pDC.GkvAbrechnungOid == null)
{
return false;
}
return pDC.GkvAbrechnungOid == pEntity.Oid;
}
}
}