117 lines
3.2 KiB
C#
117 lines
3.2 KiB
C#
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 CopyFileToCopy(DakotaSystemFile file)
|
|
{
|
|
if (!Config.CopySave)
|
|
return;
|
|
|
|
var folder = Config.CopyFolder;
|
|
|
|
CopyFileTo(file.SourceAuftragsdatei, folder.FullName);
|
|
CopyFileTo(file.SourceNutzdatendatei, folder.FullName);
|
|
}
|
|
internal static void CopyFileToFailed(DakotaSystemFile file)
|
|
{
|
|
if (!Config.FailedSave)
|
|
return;
|
|
|
|
var failed_folder = Config.FailedFolder;
|
|
|
|
CopyFileTo(file.SourceAuftragsdatei, failed_folder.FullName);
|
|
CopyFileTo(file.SourceNutzdatendatei, failed_folder.FullName);
|
|
}
|
|
internal static void CopyFileToSuccesss(DakotaSystemFile file)
|
|
{
|
|
if (!Config.SuccessSave)
|
|
return;
|
|
|
|
var success_folder = Config.SuccessFolder;
|
|
|
|
CopyFileTo(file.SourceAuftragsdatei, success_folder.FullName);
|
|
CopyFileTo(file.SourceNutzdatendatei, success_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 \'{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.");
|
|
}
|
|
|
|
internal static IEnumerable<string> GetTenantsAllowedList()
|
|
{
|
|
var path = Config.TenantsAllowTxtPath;
|
|
|
|
return File.ReadAllLines(path);
|
|
}
|
|
internal static IEnumerable<string> GetTenantsTestList()
|
|
{
|
|
var path = Config.TenantsTestTxtPath;
|
|
|
|
return File.ReadAllLines(path);
|
|
}
|
|
}
|
|
}
|