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 StatusReturncodeToMeaning = new Dictionary() { {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 SendReturncodeToMeaning = new Dictionary() { {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 ExecuteModusReturnCodes2Meaning = new Dictionary() { {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). "}, }; /// /// Werten den Return Code beim Statusabfrage aus. /// /// /// /// /// 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"; } /// /// Werten den Return Code beim Senden aus. /// /// /// /// /// 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"; } } }