Light eingeführt

Ich bin schon groß und vier,
komm doch und spiel mit mir,
ich lad dich ein ich bin Caillou
This commit is contained in:
2025-02-27 15:10:21 +01:00
parent 53ada5df42
commit 2c9323d1bc
67 changed files with 4376 additions and 1409 deletions

View File

@@ -1,6 +1,7 @@
using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Entities.Light;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
@@ -8,9 +9,12 @@ using BeWo.Service.ServiceContracts;
using BS.Shared;
using BS.Shared.AppSender;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
using BS.Shared.DataContracts.GkvAbrechnung;
using BS.Shared.DataContracts.Light;
using BS.Shared.Exceptions;
using BS.Shared.Extensions;
using BS.Shared.Interface;
using Dakota;
using Dakota.Logic;
using System;
@@ -29,15 +33,13 @@ namespace BeWo.Service.ServiceImplementations
{
public string Tenant => MultitenancyOperationContextExt.Current?.Tenant;
public GkvAbrechnungDC GetGkvAbrechnung(long oid)
public GkvAbrechnungLightDC GetGkvAbrechnung(long oid)
{
try
{
var gkv = DAOFactory.GenericDAO.GetByID<GkvAbrechnung>(oid);
var gkv = DAOFactory.GenericDAO.GetByID<GkvAbrechnungLight>(oid);
var dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkv);
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dc);
var dc = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(gkv);
return dc;
}
@@ -46,7 +48,8 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public List<GkvAbrechnungDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter)
public List<GkvAbrechnungLightDC> GetFilteredGkvAbrechnungen(GkvAbrechnungViewFilterDC gkvAbrechnungViewFilter)
{
try
{
@@ -57,31 +60,29 @@ namespace BeWo.Service.ServiceImplementations
var end = gkvAbrechnungViewFilter.End;
var filter = gkvAbrechnungViewFilter.FilterForInvoiceDate;
return GetGkvAbrechnungen(() => DAOFactory.SearchDAO.GetGkvAbrechnungen(start, end, filter));
return GetGkvAbrechnungen(() => DAOFactory.FinanceDAO.GetGkvAbrechnungen(start, end, filter));
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<GkvAbrechnungDC> GetAllGkvAbrechnungen()
public List<GkvAbrechnungLightDC> GetAllGkvAbrechnungen()
{
try
{
return GetGkvAbrechnungen(() => DAOFactory.GenericDAO.GetAllActive<GkvAbrechnung>());
return GetGkvAbrechnungen(() => DAOFactory.GenericDAO.GetAllActive<GkvAbrechnungLight>());
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
private List<GkvAbrechnungDC> GetGkvAbrechnungen(Func<IEnumerable<GkvAbrechnung>> get_entities)
private List<GkvAbrechnungLightDC> GetGkvAbrechnungen(Func<IEnumerable<GkvAbrechnungLight>> get_entities)
{
var entities = get_entities();
var dcs = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(entities);
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dcs);
var dcs = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDCs(entities);
var updateables = dcs.Where(x => x.IsWaiting()).ToArray();
@@ -95,9 +96,7 @@ namespace BeWo.Service.ServiceImplementations
entities = get_entities();
dcs = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDCs(entities);
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dcs);
dcs = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDCs(entities);
return dcs;
}
@@ -110,7 +109,7 @@ namespace BeWo.Service.ServiceImplementations
throw new ArgumentOutOfRangeException(nameof(oid), $"oid \'{oid}\' nicht positiv");
}
var str = DAOFactory.SearchDAO.GetGkvRawData(oid, gkvRawData);
var str = DAOFactory.FinanceDAO.GetGkvRawData(oid, gkvRawData);
return str;
}
@@ -162,10 +161,12 @@ namespace BeWo.Service.ServiceImplementations
DAOFactory.GenericDAO.Insert(gkv_abrechnung);
var gkv_abrechnung_dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(gkv_abrechnung);
var gkv_light = DAOFactory.GenericDAO.LoadByID<GkvAbrechnungLight>(gkv_abrechnung.Oid.Value);
var gkv_abrechnung_dc = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(gkv_light);
response.Success = true;
response.GkvAbrechnungDC = gkv_abrechnung_dc;
response.GkvAbrechnungLightDC = gkv_abrechnung_dc;
}
catch (GkvException exc)
{
@@ -184,33 +185,17 @@ namespace BeWo.Service.ServiceImplementations
return response;
}
public GkvAbrechnungDC UpdateGkvAbrechnung(GkvAbrechnungDC abrechnung)
public GkvAbrechnungLightDC UpdateGkvAbrechnung(GkvAbrechnungLightDC abrechnung)
{
try
{
var entity = DAOFactory.GenericDAO.GetByID<GkvAbrechnung>(abrechnung.GkvAbrechnungOid.Value);
var entity = DAOFactory.GenericDAO.GetByID<GkvAbrechnungLight>(abrechnung.Oid);
if(entity.Notice != abrechnung.Notice)
entity.Notice = abrechnung.Notice;
if (entity.UrbelegeGesendet != abrechnung.UrbelegeGesendet)
entity.UrbelegeGesendet = abrechnung.UrbelegeGesendet;
if (entity.Bezahlt != abrechnung.Bezahlt)
{
entity.Bezahlt = abrechnung.Bezahlt;
foreach (var invoice in entity.InvoiceBases)
{
invoice.IsPaid = entity.Bezahlt;
}
}
MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MergeWithEntity(abrechnung, entity);
DAOFactory.GenericDAO.Update(entity);
var dc = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(entity);
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(dc);
var dc = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(entity);
return dc;
}
@@ -219,11 +204,11 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public void DeleteGkvAbrechnung(GkvAbrechnungDC abrechnung)
public void DeleteGkvAbrechnung(long oid, long version)
{
try
{
ServiceLogic.SetActivationType<GkvAbrechnung>(abrechnung.GkvAbrechnungOid.Value, abrechnung.GkvAbrechnungVersion.Value, ActivationTypeId.Deleted);
ServiceLogic.SetActivationType<GkvAbrechnung>(oid, version, ActivationTypeId.Deleted);
}
catch (Exception e)
{
@@ -298,11 +283,11 @@ namespace BeWo.Service.ServiceImplementations
DAOFactory.GenericDAO.Update(entity);
response.TransferProtokoll = MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.MapToNewDC(protokoll);
response.GkvAbrechnungDC = MapperFactory.GkvAbrechnungDC_GkvAbrechnung.MapToNewDC(entity);
var entity_light = DAOFactory.GenericDAO.LoadByID<GkvAbrechnungLight>(entity.Oid.Value);
var protokoll_light = DAOFactory.GenericDAO.LoadByID<GkvTransferProtokollLight>(protokoll.Oid.Value);
MapperFactory.GkvTransferProtokollDC_GkvTransferprotokoll.ClearRawData(response.TransferProtokoll);
MapperFactory.GkvAbrechnungDC_GkvAbrechnung.ClearRawData(response.GkvAbrechnungDC);
response.GkvAbrechnungDC = MapperFactory.GkvAbrechnungLightDC_GkvAbrechnungLight.MapToNewDC(entity_light);
response.TransferProtokoll = MapperFactory.GkvTransferProtokollLightDC_GkvTransferprotokollLight.MapToNewDC(protokoll_light);
return response;
}
@@ -336,7 +321,7 @@ namespace BeWo.Service.ServiceImplementations
if (res.Gefunden)
{
// Holt alle Organisationen
var orgas = DAOFactory.SearchDAO.GetAllOrganisationByIKKrankenkasse(req.IKKrankenkasse);
var orgas = DAOFactory.OrganisationDAO.GetAllOrganisationByIKKrankenkasse(req.IKKrankenkasse);
// Entfernt sich selber
if (req.OrganisationOid is long oid)
@@ -543,7 +528,7 @@ namespace BeWo.Service.ServiceImplementations
/// <param name="loginName"></param>
/// <param name="hashed_password"></param>
/// <returns>Returns true, if the states are all up to date. False otherwise.</returns>
private bool SendApp8GetStatusRequest(GkvAbrechnungDC[] updateables)
private bool SendApp8GetStatusRequest(IGkvAbrechnung[] updateables)
{
var updateables_len = updateables.Count();
@@ -558,7 +543,7 @@ namespace BeWo.Service.ServiceImplementations
var gkv_abrechnung = updateables[id];
var gkv_transfer = gkv_abrechnung.TransferProtokolle.Last();
request.Oids[id] = gkv_transfer.GkvTransferProtokollOid.Value;
request.Oids[id] = gkv_transfer.Oid.Value;
}
GkvServerGetStatusResponseDC response_app8;
@@ -591,10 +576,10 @@ namespace BeWo.Service.ServiceImplementations
public void HandleGkvServerResults(IEnumerable<GkvServerResultDC> results)
{
var protokolls = new List<GkvTransferProtokoll>();
var protokolls = new List<GkvTransferProtokollLight>();
foreach (var result in results)
{
var protokoll = DAOFactory.GenericDAO.GetByID<GkvTransferProtokoll>(result.ProtokollOid);
var protokoll = DAOFactory.GenericDAO.GetByID<GkvTransferProtokollLight>(result.ProtokollOid);
protokoll.ResultType = result.ResultType;
protokoll.Fehlertitel = result.Titel;
@@ -630,8 +615,7 @@ namespace BeWo.Service.ServiceImplementations
foreach (var follow in follows)
{
var protokoll_oid = follow.ProtokollOid;
var protokoll = DAOFactory.GenericDAO.LoadByID<GkvTransferProtokoll>(protokoll_oid);
var abrechnung_oid = protokoll.GkvAbrechnungOid;
var abrechnung_oid = DAOFactory.FinanceDAO.GetGkvParentByProtokollOid(protokoll_oid);
var new_req = new GkvAbrechnungSendRequestDC()
{