diff --git a/bsmd.dbh/MessageController.cs b/bsmd.dbh/MessageController.cs index cdd0278b..77226721 100644 --- a/bsmd.dbh/MessageController.cs +++ b/bsmd.dbh/MessageController.cs @@ -112,8 +112,9 @@ namespace bsmd.dbh { _log.InfoFormat("sent {0}", sentFile); string onlyFileName = Path.GetFileName(sentFile); - string moveTarget = Path.Combine(Properties.Settings.Default.OutgoingArchiveFolder, onlyFileName); - File.Move(sentFile, moveTarget); + string moveTarget = Path.Combine(Properties.Settings.Default.OutgoingArchiveFolder, onlyFileName); + File.Copy(sentFile, moveTarget, true); + File.Delete(sentFile); } // receive files from remote host @@ -128,13 +129,15 @@ namespace bsmd.dbh { _log.ErrorFormat("Error reading input file {0}", justFilename); string errorPath = Path.Combine(Properties.Settings.Default.IncomingErrorFolder, justFilename); - File.Move(inputFile, errorPath); + File.Copy(inputFile, errorPath, true); + File.Delete(inputFile); } else { _log.InfoFormat("Incoming file {0} processed", justFilename); string archivePath = Path.Combine(Properties.Settings.Default.IncomingArchiveFolder, justFilename); - File.Move(inputFile, archivePath); + File.Copy(inputFile, archivePath, true); + File.Delete(inputFile); } // remote Dateien löschen bsmd.dakosy.SFtp.RemoveProcessedFile(Properties.Settings.Default.RemoteOutgoingFolder, Path.GetFileName(inputFile), Properties.Settings.Default.SFTPSessionName); diff --git a/bsmd.dbh/RequestUtil.cs b/bsmd.dbh/RequestUtil.cs index 5cb5db1e..4aeed901 100644 --- a/bsmd.dbh/RequestUtil.cs +++ b/bsmd.dbh/RequestUtil.cs @@ -1662,10 +1662,13 @@ namespace bsmd.dbh rwr.IdentificationNumber = was_rcpt.IdentificationNumber; rwr.PortReceptionFacilityName = was_rcpt.PortReceptionFacilityName; rwr.PortReceptionFacilityProviderName = was_rcpt.PortReceptionFacilityProviderName; - rwr.TreatmentFacilityProvider = new string[was_rcpt.TreatmentFacilityProvider.Count]; - for (int j = 0; j < was_rcpt.TreatmentFacilityProvider.Count; j++) + if (was_rcpt.TreatmentFacilityProvider.Count > 0) { - rwr.TreatmentFacilityProvider[j] = was_rcpt.TreatmentFacilityProvider[j].TreatmentFacilityProviderName; + rwr.TreatmentFacilityProvider = new string[was_rcpt.TreatmentFacilityProvider.Count]; + for (int j = 0; j < was_rcpt.TreatmentFacilityProvider.Count; j++) + { + rwr.TreatmentFacilityProvider[j] = was_rcpt.TreatmentFacilityProvider[j].TreatmentFacilityProviderName; + } } if (was_rcpt.WasteDeliveryDateFrom.HasValue) rwr.WasteDeliveryDateFrom = was_rcpt.WasteDeliveryDateFrom.Value.ToUTCSerializableDateTime();