GetStatus FailFollowUpLogic
Zusätzliche Exception Handling Test Tenant
This commit is contained in:
@@ -18,6 +18,7 @@ namespace DakotaSender
|
||||
class Program
|
||||
{
|
||||
static readonly string TEST_TENANT = "5000000000";
|
||||
static readonly string TEST_TENANT_2 = "7375324044";
|
||||
|
||||
static bool time_in_line = false;
|
||||
static bool is_dakota_running = false;
|
||||
@@ -49,6 +50,7 @@ namespace DakotaSender
|
||||
|
||||
if (is_dakota_running)
|
||||
{
|
||||
PrintSeperator();
|
||||
PrintLine($"Verarbeitung im Silent Modus fehlgeschlagen. dakota30.exe läuft (bereits).");
|
||||
PrintLine("Ignoriere Verarbeitung aktuell. Versuche im nächsten Programm Aufruf erneut.");
|
||||
}
|
||||
@@ -118,6 +120,7 @@ namespace DakotaSender
|
||||
|
||||
PrintSeperator();
|
||||
}
|
||||
|
||||
static Dictionary<string, Dictionary<string, List<DakotaSystemFile>>> ScanQueueFolder()
|
||||
{
|
||||
var queue = Config.QueueFolder;
|
||||
@@ -128,46 +131,13 @@ namespace DakotaSender
|
||||
var ten2dat2files = new Dictionary<string, Dictionary<string, List<DakotaSystemFile>>>();
|
||||
foreach (var auft in files)
|
||||
{
|
||||
var nutz_fullname = auft.FullName.Substring(0, auft.FullName.Length - 4);
|
||||
var nutz = new FileInfo(nutz_fullname);
|
||||
var file = ScanQueueFile(auft);
|
||||
|
||||
if (!nutz.Exists)
|
||||
{
|
||||
PrintLine($"{auft.FullName} wird ignoriert. {nutz.FullName} nicht vorhanden");
|
||||
if (file is null)
|
||||
continue;
|
||||
}
|
||||
|
||||
PrintLine($"- {auft.FullName}");
|
||||
|
||||
var split = nutz.Name.Split('_');
|
||||
var tenant = split[0];
|
||||
var app_oid = long.Parse(split[1]);
|
||||
var p_oid = long.Parse(split[2]);
|
||||
var datenannahmestelle = split[3];
|
||||
var transfername = split[4];
|
||||
|
||||
// Muss nachher nur entfernt werden, um andere zu testen
|
||||
// Ggf Tool einbauen?
|
||||
if (tenant != TEST_TENANT && tenant != "demo")
|
||||
{
|
||||
PrintLine($"{auft.FullName} wird ignoriert. Tenant {tenant} nicht gültig.");
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
tenant = TEST_TENANT;
|
||||
}
|
||||
|
||||
var file = new DakotaSystemFile()
|
||||
{
|
||||
SourceAuftragsdatei = auft,
|
||||
SourceNutzdatendatei = nutz,
|
||||
Tenant = tenant,
|
||||
ProtokollOid = p_oid,
|
||||
ApplicationUserOid = app_oid,
|
||||
Datenannahmestelle = datenannahmestelle,
|
||||
Transfername = transfername,
|
||||
};
|
||||
var tenant = file.Tenant;
|
||||
var datenannahmestelle = file.Datenannahmestelle;
|
||||
|
||||
if (!ten2dat2files.ContainsKey(tenant))
|
||||
ten2dat2files.Add(tenant, new Dictionary<string, List<DakotaSystemFile>>());
|
||||
@@ -183,7 +153,57 @@ namespace DakotaSender
|
||||
if (ten2dat2files.Any())
|
||||
return ten2dat2files;
|
||||
|
||||
PrintLine("Keine Dakota Dateien in Queue gefunden.");
|
||||
PrintLine("Keine gültigen Dakota Dateien in Queue gefunden.");
|
||||
return null;
|
||||
}
|
||||
static DakotaSystemFile ScanQueueFile(FileInfo auft)
|
||||
{
|
||||
try
|
||||
{
|
||||
var nutz_fullname = auft.FullName.Substring(0, auft.FullName.Length - 4);
|
||||
var nutz = new FileInfo(nutz_fullname);
|
||||
|
||||
if (!nutz.Exists)
|
||||
{
|
||||
PrintLine($"{auft.FullName} wird ignoriert. {nutz.FullName} nicht vorhanden");
|
||||
return null;
|
||||
}
|
||||
|
||||
PrintLine($"- {auft.FullName}");
|
||||
|
||||
var split = nutz.Name.Split('_');
|
||||
var tenant = split[0];
|
||||
var app_oid = long.Parse(split[1]);
|
||||
var p_oid = long.Parse(split[2]);
|
||||
var datenannahmestelle = split[3];
|
||||
var transfername = split[4];
|
||||
|
||||
// Muss nachher nur entfernt werden, um andere zu testen
|
||||
// Ggf Tool einbauen?
|
||||
if (tenant != TEST_TENANT && tenant != TEST_TENANT_2)
|
||||
{
|
||||
PrintLine($"{auft.FullName} wird ignoriert. Tenant {tenant} nicht gültig.");
|
||||
return null;
|
||||
}
|
||||
|
||||
var file = new DakotaSystemFile()
|
||||
{
|
||||
SourceAuftragsdatei = auft,
|
||||
SourceNutzdatendatei = nutz,
|
||||
Tenant = tenant,
|
||||
ProtokollOid = p_oid,
|
||||
ApplicationUserOid = app_oid,
|
||||
Datenannahmestelle = datenannahmestelle,
|
||||
Transfername = transfername,
|
||||
};
|
||||
|
||||
return file;
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
PrintException(e);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -381,11 +401,11 @@ namespace DakotaSender
|
||||
else
|
||||
PrintLine("Fehler: " + res.Message);
|
||||
}
|
||||
catch(GkvException e)
|
||||
catch (GkvException e)
|
||||
{
|
||||
PrintException(e);
|
||||
}
|
||||
catch(Exception e)
|
||||
catch (Exception e)
|
||||
{
|
||||
PrintException(e);
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ namespace DakotaSender
|
||||
{
|
||||
const int RC_DAKOTA_ALREADY_LOADED = 18;
|
||||
|
||||
static readonly int[] AcceptStatusCodes = new int[] { 0 };
|
||||
static readonly int[] AcceptSendCodes = new int[] { 0 };
|
||||
static readonly int[] AcceptStatusCodes = new int[] { 0, 1, 100, 101 };
|
||||
static readonly int[] AcceptSendCodes = new int[] { 0, 1 };
|
||||
|
||||
static readonly Dictionary<int, string> StatusReturncodeToMeaning = new Dictionary<int, string>()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user