using BS.Shared.DataContracts.GkvAbrechnung; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DakotaSender { internal static class FileController { internal static void CopyFileToFailed(DakotaSystemFile file) { var failed_folder = Config.FailedFolder; CopyFileTo(file.SourceAuftragsdatei, failed_folder.FullName); CopyFileTo(file.SourceNutzdatendatei, failed_folder.FullName); } internal static void CopyFileToDestination(DakotaSystemFile file) { var folder = Config.LoadDatenannahmestelleFolder(file.Datenannahmestelle); CopyFileTo(file.SourceAuftragsdatei, folder.FullName, file.TransfernameAuf); CopyFileTo(file.SourceNutzdatendatei, folder.FullName, file.Transfername); } internal static void CopyFileTo(FileSystemInfo file, string destination_folder, string file_name = null) { if (file_name is null) file_name = file.Name; CopyFile(file.FullName, Path.Combine(destination_folder, file_name)); } internal static void CopyFile(string source, string destination) { Program.Print($"Kopiere \"{source}\" nach \"{destination}\". "); File.Copy(source, destination); Program.PrintLine("Ok."); } internal static void DeleteQueueFile(DakotaSystemFile file) { DeleteFile(file.SourceAuftragsdatei.FullName); DeleteFile(file.SourceNutzdatendatei.FullName); } internal static void DeleteDakotaFile(DakotaSystemFile file) { var folder = Config.LoadDatenannahmestelleFolder(file.Datenannahmestelle).FullName; DeleteFile(Path.Combine(folder, file.TransfernameAuf)); DeleteFile(Path.Combine(folder, file.Transfername)); } internal static void DeleteFile(string file) { Program.Print($"Lösche {file}. "); File.Delete(file); Program.PrintLine("Ok."); } internal static void SaveAsXmlFileInResultFolder(GkvServerResultDC result, string tenant, long user) { Program.Print($"Speichere Protokoll Oid \'{result.ProtokollOid}\' als Xml. "); var xml = GkvServerResultXml.ToXml(result, user); var folder = Config.GetResultTenantFolder(tenant).FullName; var path = Path.Combine(folder, $"P{result.ProtokollOid}.xml"); Program.Print($"Path: {path}. "); XmlFileConverter.Save(xml, path); Program.PrintLine("Ok."); } } }