Files
BeWoPlaner/DakotaSender/Returncodes.cs
Rene Evertz 8b6f9e9630 GetStatus FailFollowUpLogic
Zusätzliche Exception Handling
Test Tenant
2024-11-05 09:52:36 +01:00

112 lines
6.6 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DakotaSender
{
internal static class Returncodes
{
const int RC_DAKOTA_ALREADY_LOADED = 18;
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>()
{
{0, "dakota ist betriebsbereit. "},
{6, "dakota konnte die Verbindung aufbauen. Stammdatenserver ist online und die Anfrage an den Stammdatenserver zu einem Fehler führt z.b \'die Lizenz ist ungültig!\' "},
{10, "dakota ist registriert, aber noch nicht betriebsbereit. "},
{30, "dakota ist nicht registriert. "},
{40, "Die Verbindung zum Stammdatenserver war nicht möglich. "},
{41, "Die Verbindung zum Stammdatenserver war wiederholt nicht möglich. "},
{50, "Der Stammdatenserver wurde seit mehr als 10, Tagen nicht erreicht und daher wurde die Lizenz gesperrt. "},
{100, "Es ist seit x-Tagen kein Stammdatenupdate durchgeführt worden. dakota wurde ohne Fehler beendet. "},
{90, "Es liegt ein fertiges Zertifikat vor und es wurde erfolgreich ein Nachfolgezertifikat beantragt. "},
{91, "Es liegt ein fertiges Zertifikat vor und es wurde erfolgreich ein Nachfolgezertifikat beantragt. Das aktive Zertifikat läuft in der angegebenen Frist ab. "},
{101, "Es ist seit x-Tagen kein Stammdatenupdate durchgeführt worden und das Zertifikat läuft in der angegebenen Frist ab. dakota wurde ohne Fehler beendet. "},
{200, "Es ist seit x-Tagen keine Schlüsselsicherung durchgeführt worden. dakota wurde ohne Fehler beendet. "},
{201, "Es ist seit x-Tagen keine Schlüsselsicherung durchgeführt worden und das Zertifikat läuft in der angegebenen Frist ab. dakota wurde ohne Fehler beendet. "},
{300, "Es ist seit x-Tagen kein Stammdatenupdate und keine Schlüsselsicherung durchgeführt worden. dakota wurde ohne Fehler beendet. "},
{301, "Es ist seit x-Tagen kein Stammdatenupdate und keine Schlüsselsicherung durchgeführt worden und das Zertifikat läuft in der angegebenen Frist ab. dakota wurde ohne Fehler beende " },
};
static readonly Dictionary<int, string> SendReturncodeToMeaning = new Dictionary<int, string>()
{
{0, "Alle Dateien wurden verarbeitet. " },
{1, "Alle Dateien wurden verarbeitet und das Zertifikat läuft in der angegebenen Frist ab. "},
{2, "Es sind keine Daten zur Verarbeitung vorhanden. "},
{3, "Es sind keine Daten zur Verarbeitung vorhanden und das Zertifikat läuft in der angegebenen Frist ab. "},
{4, "Eine oder mehrere Dateien konnten nicht verarbeitet werden. "},
{5, "Eine oder mehrere Dateien konnten nicht verarbeitet werden und das Zertifikat läuft in der angegebenen Frist ab. "},
};
static readonly Dictionary<int, string> ExecuteModusReturnCodes2Meaning = new Dictionary<int, string>()
{
{0, "Alle Dateien verarbeitet, bzw. Schlüssel erfolgreich eingelesen, bzw. alle Dateien erfolgreich entschlüsselt, ohne Fehler beendet. "},
{1, "Alle Dateien verarbeitet, Zertifikat läuft in der angegebenen Frist ab, ohne Fehler beendet. "},
{2, "Keine Daten zur Verarbeitung bzw. keine Daten zur Entschlüsselung vorhanden, ohne Fehler beendet. "},
{3, "Keine Daten zur Verarbeitung vorhanden, ohne Fehler beendet, Zertifikat läuft in der angegebenen Frist ab. "},
{4, "Eine oder mehrere Dateien konnten nicht verarbeitet bzw. entschlüsselt werden, siehe Protokoll, ohne Fehler beendet. "},
{5, "Eine oder mehrere Dateien konnten nicht verarbeitet werden, Zertifikat läuft in der angegebenen Frist ab, ohne Fehler beendet. "},
{6, "Aktion vom Anwender abgebrochen (Achtung: Im Kurzprotokoll-Modus normal). "},
{7, "Aktion vom Anwender abgebrochen, Zertifikat läuft in der angegebenen Frist ab. "},
{9, "Antrag am Trust Center gestellt, noch nicht schlüsselfertig (tritt nur bei Statusabfrage s auf, alle anderen Parameter RC10). "},
{10, "dakota noch nicht schlüsselfertig konfiguriert, Programmabbruch. "},
{14, "Falscher Programmaufruf, Programmabbruch. "},
{16, "Interner Fehler, Programmabbruch. "},
{18, "Programm ist bereits geladen. "},
{30, "Die Lizenz ist nicht registriert (ab dakota.ag 6.2). "},
{40, "Verbindung zum Stammdatenupdateserver war nicht möglich (ab dakota.ag 6.2). "},
{41, "Verbindung zum Stammdatenupdateserver war wiederholt nicht möglich (ab dakota.ag 6.2). "},
{50, "Der Stammdatenserver wurde seit mehr als 10 Tagen nicht erreicht und daher wurde die Lizenz gesperrt (ab dakota.ag 6.1). "},
{90, "Es liegt ein fertiges Zertifikat vor und es wurde erfolgreich ein Nachfolgezertifikat beantragt. "},
{91, "Es liegt ein fertiges Zertifikat vor und es wurde erfolgreich ein Nachfolgezertifikat beantragt, aktives Zertifikat läuft in der angegebenen Frist ab. "},
{100, "Es ist seit x-Tagen kein Stammdatenupdate durchgeführt worden, ohne Fehler beendet (nur bei Parameter s). "},
{101, "Es ist seit x-Tagen kein Stammdatenupdate durchgeführt worden und Ihr Zertifikat läuft in der angegebenen Frist ab, ohne Fehler beendet (nur bei Parameter s). "},
{200, "Es ist seit x-Tagen keine Schlüsselsicherung durchgeführt worden, ohne Fehler beendet (nur bei Parameter s). "},
};
/// <summary>
/// Werten den Return Code beim Statusabfrage aus.
/// </summary>
/// <param name="rc"></param>
/// <param name="isDakotaRunning"></param>
/// <param name="accept"></param>
/// <param name="message"></param>
public static void EvaluateStatusCode(int rc, out bool isDakotaRunning, out bool accept, out string message)
{
isDakotaRunning = rc == RC_DAKOTA_ALREADY_LOADED;
accept = AcceptStatusCodes.Contains(rc);
if (ExecuteModusReturnCodes2Meaning.TryGetValue(rc, out string msg))
message = msg;
else if (StatusReturncodeToMeaning.TryGetValue(rc, out string msg2))
message = "special: " + msg2;
else
message = "Unknown returncode";
}
/// <summary>
/// Werten den Return Code beim Senden aus.
/// </summary>
/// <param name="rc"></param>
/// <param name="isDakotaRunning"></param>
/// <param name="accept"></param>
/// <param name="message"></param>
public static void EvaluateSendCode(int rc, out bool isDakotaRunning, out bool accept, out string message)
{
isDakotaRunning = rc == RC_DAKOTA_ALREADY_LOADED;
accept = AcceptSendCodes.Contains(rc);
if (ExecuteModusReturnCodes2Meaning.TryGetValue(rc, out string msg))
message = msg;
else if (SendReturncodeToMeaning.TryGetValue(rc, out string msg2))
message = "special: " + msg2;
else
message = "Unknown returncode";
}
}
}