Files
BeWoPlaner/DakotaSender/Returncodes.cs

112 lines
6.6 KiB
C#
Raw Permalink Normal View History

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";
}
}
}