Abrechnungscode + Tarifkennzeichen werden übergeben Meldung, falls IK nicht hinterlegt ist
83 lines
3.3 KiB
C#
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;
|
|
}
|
|
}
|
|
} |