diff --git a/Host/GkvAbrechnungView.aspx.cs b/Host/GkvAbrechnungView.aspx.cs index c915bef2f..92ef9718f 100644 --- a/Host/GkvAbrechnungView.aspx.cs +++ b/Host/GkvAbrechnungView.aspx.cs @@ -234,6 +234,8 @@ namespace Host } } + ClearResultFolder(GkvRequest.Tenant, req.Oids); + response.Success = true; } catch (DakotaException e) @@ -264,7 +266,7 @@ namespace Host } private string SaveFileInFileSystem(GkvApp8SendNewRequest req, bool debug_mode = false) - => SaveFileInFileSystem(req.GkvTransferProtokoll.GkvTransferProtokollOid.Value, req.Tenant, req.GkvTransferProtokoll.IKDatenannahmestelle, req.GkvTransferProtokoll.Transfername, + => SaveFileInFileSystem(req.GkvTransferProtokoll.GkvTransferProtokollOid.Value, GkvRequest.Tenant, req.GkvTransferProtokoll.IKDatenannahmestelle, req.GkvTransferProtokoll.Transfername, req.GkvTransferProtokoll.Nutzdatendatei, req.GkvTransferProtokoll.Auftragsdatei, debug_mode); private string SaveFileInFileSystem(long protokoll_oid, string tenant, string datenannahmestelle, string transfername, string nutzdaten, string auftragsdatei, bool debug_mode = false) { @@ -321,6 +323,23 @@ namespace Host } } + private void ClearResultFolder(string tenant, long[] oids) + { + var folder = new DirectoryInfo(Path.Combine(ResultFolderPath, tenant)); + + if (!folder.Exists) + return; + + foreach (var file in folder.GetFiles()) + { + var xml_obj = GetFehlerXmlFromFile(file); + + if (xml_obj is GkvApp8FehlerXml xml && oids.Contains(xml.Oid)) + continue; + + file.Delete(); + } + } private Dictionary GetResultFile(string tenant) { try