diff --git a/BeWo/DebugConfig.cs b/BeWo/DebugConfig.cs index 94d39cc51..c5f066fff 100644 --- a/BeWo/DebugConfig.cs +++ b/BeWo/DebugConfig.cs @@ -134,11 +134,11 @@ namespace BeWo { DebugConfigMode = DebugConfigMode.FeatureDakota, AutoLogin = false, - SelectView = UIContext.Organisation, - SelectIndex = 8, - DefaultLoginUsername = "m1", - DefaultLoginPassword = "bewobewo", - DefaultProfilename = "5000000000", + //SelectView = UIContext.Organisation, + //SelectIndex = 8, + //DefaultLoginUsername = "m1", + //DefaultLoginPassword = "bewobewo", + //DefaultProfilename = "5000000000", EnableAutoRemoteDebugging = true }); diff --git a/Dakota/Logic/DakotaNumberManager.cs b/Dakota/Logic/DakotaNumberManager.cs index 660cc48a6..6487ade7a 100644 --- a/Dakota/Logic/DakotaNumberManager.cs +++ b/Dakota/Logic/DakotaNumberManager.cs @@ -11,7 +11,7 @@ namespace Dakota.Logic public class DakotaNumberManager { private readonly string _Filepath; - private readonly object _LockObj = new object(); + private readonly static object _LockObj = new object(); private Dictionary> _Numbers; public DakotaNumberManager(string filePath) diff --git a/Host/Host.csproj b/Host/Host.csproj index 9df81c9df..cc1f1af40 100644 --- a/Host/Host.csproj +++ b/Host/Host.csproj @@ -169,6 +169,10 @@ ..\packages\System.Text.Encoding.CodePages.9.0.2\lib\net462\System.Text.Encoding.CodePages.dll + + False + ..\Lib\System.Text.Json.dll + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll diff --git a/Host/Web.config b/Host/Web.config index 5b3a3b539..9ffb344de 100644 --- a/Host/Web.config +++ b/Host/Web.config @@ -377,7 +377,7 @@ - + diff --git a/Lib/Microsoft.Bcl.AsyncInterfaces.dll b/Lib/Microsoft.Bcl.AsyncInterfaces.dll new file mode 100644 index 000000000..cf06e021e Binary files /dev/null and b/Lib/Microsoft.Bcl.AsyncInterfaces.dll differ diff --git a/Lib/System.IO.Pipelines.dll b/Lib/System.IO.Pipelines.dll new file mode 100644 index 000000000..8fab8c635 Binary files /dev/null and b/Lib/System.IO.Pipelines.dll differ diff --git a/Lib/System.Memory.dll b/Lib/System.Memory.dll new file mode 100644 index 000000000..461719979 Binary files /dev/null and b/Lib/System.Memory.dll differ diff --git a/Lib/System.Text.Encodings.Web.dll b/Lib/System.Text.Encodings.Web.dll new file mode 100644 index 000000000..5518dbebb Binary files /dev/null and b/Lib/System.Text.Encodings.Web.dll differ diff --git a/Lib/System.Text.Json.dll b/Lib/System.Text.Json.dll new file mode 100644 index 000000000..a931ec07d Binary files /dev/null and b/Lib/System.Text.Json.dll differ diff --git a/Service/DCEntityMapper/GkvAbrechnungDC_GkvAbrechnung.cs b/Service/DCEntityMapper/GkvAbrechnungDC_GkvAbrechnung.cs index 259bc9bbd..17caeee1e 100644 --- a/Service/DCEntityMapper/GkvAbrechnungDC_GkvAbrechnung.cs +++ b/Service/DCEntityMapper/GkvAbrechnungDC_GkvAbrechnung.cs @@ -34,10 +34,6 @@ namespace BeWo.Service.DCEntityMapper isReady = false; tooltip = "Fataler Fehler"; break; - case GkvState.ErrorFolgefehler: - isReady = false; - tooltip = "Folgefehler"; - break; case GkvState.Paid: isReady = false; tooltip = "Bereits bezahlt"; diff --git a/Service/ServiceImplementations/GkvAccountingServiceImp.cs b/Service/ServiceImplementations/GkvAccountingServiceImp.cs index f7a560b88..0bd68b483 100644 --- a/Service/ServiceImplementations/GkvAccountingServiceImp.cs +++ b/Service/ServiceImplementations/GkvAccountingServiceImp.cs @@ -492,13 +492,13 @@ namespace BeWo.Service.ServiceImplementations var state = gkvAbrechnung.GetState(); if (state == GkvState.NoSend) - { - newDatenaustauschref = false; - } - else if (state == GkvState.ErrorSoft || state == GkvState.ErrorFatal || state == GkvState.ErrorFolgefehler) { newDatenaustauschref = true; } + else if (state == GkvState.ErrorSoft || state == GkvState.ErrorFatal) + { + newDatenaustauschref = false; + } else { throw new ArgumentException($"Versucht Transfernummer zu laden, invalid state: {state}", nameof(state)); @@ -651,9 +651,6 @@ namespace BeWo.Service.ServiceImplementations case GkvTransferResultType.FailFatal: protokoll.SentApp8Success = false; break; - case GkvTransferResultType.FailFollowUp: - protokoll.SentApp8Success = false; - break; } protokolls.Add(protokoll); @@ -661,27 +658,6 @@ namespace BeWo.Service.ServiceImplementations if (protokolls.Any()) DAOFactory.GenericDAO.Update(protokolls); - - var follows = results.Where(x => x.ResultType == GkvTransferResultType.FailFollowUp); - - if (follows.Any()) - { - foreach (var follow in follows) - { - var protokoll_oid = follow.ProtokollOid; - var abrechnung_oid = DAOFactory.FinanceDAO.GetGkvParentByProtokollOid(protokoll_oid); - - var new_req = new GkvAbrechnungSendRequestDC() - { - GkvAbrechnungOid = abrechnung_oid - }; - - var res = SendNewGkvAbrechnung(new_req); - - if (!res.Success) - throw new GkvException("Success - " + res.Message); - } - } } private Res SendApp8Request(Req request) where Req : GkvServerRequestDC where Res : GkvResponseDC diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index 7a663982b..6d6c3cfbc 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -1310,7 +1310,6 @@ namespace BS.Shared Success = 0, // Kein Fehler FailSoft = 1, // Kann erneut senden FailFatal = 2, // Kann nicht erneut senden - FailFollowUp = 3, // Muss neu berechnet werden } public enum GkvState @@ -1318,7 +1317,6 @@ namespace BS.Shared NoSend, ErrorSoft, ErrorFatal, - ErrorFolgefehler, Paid, WaitingForDakota, WaitingForKrankenkasse, diff --git a/Shared/Core/ValidatorExtended.cs b/Shared/Core/ValidatorExtended.cs index cfa066a1d..868733164 100644 --- a/Shared/Core/ValidatorExtended.cs +++ b/Shared/Core/ValidatorExtended.cs @@ -24,8 +24,8 @@ namespace BS.Shared.Core error = "Unterschiedliche Rechnungspositionen"; else if (GetInvalidUnitDescription(invoiceBases) is IInvoiceItem invalid) error = $"Ungültige Rechnungsposition: {invalid.ItemDescription}:{invalid.UnitDescription}"; - else if (GetInvalidInvoiceNumber(invoiceBases) is IInvoiceBase invalid2) - error = $"Ungültige Rechnungsnummer: {invalid2.InvoiceNumber}"; + else if (GkvValidator.ValidateInvoiceBases(invoiceBases) is string rtn_error) + error = rtn_error; if(error is string) throw new GkvException(error, "Validierung"); diff --git a/Shared/Extensions/GkvAbrechnungExtensions.cs b/Shared/Extensions/GkvAbrechnungExtensions.cs index 21b967856..26f09cc84 100644 --- a/Shared/Extensions/GkvAbrechnungExtensions.cs +++ b/Shared/Extensions/GkvAbrechnungExtensions.cs @@ -24,9 +24,6 @@ namespace BS.Shared.Extensions if (gkvAbrechnung.LastTransferProtokoll.ResultType == GkvTransferResultType.FailFatal) return GkvState.ErrorFatal; - if (gkvAbrechnung.LastTransferProtokoll.ResultType == GkvTransferResultType.FailFollowUp) - return GkvState.ErrorFolgefehler; - if (gkvAbrechnung.LastTransferProtokoll.ResultType is null) return GkvState.WaitingForDakota;