internal async Task<bool> SetzeStatusLieferung(StatusLieferung statusLieferung) { Daten.AktLieferung.ST = statusLieferung; if (Enum.TryParse<KfzActions>(statusLieferung.ToString(), out var status)) { var (ApiStatus, _) = await SetAction(status, Daten.AktLieferung.IL); var anzFehler = new ApiStatusArten[] { ApiStatusArten.RE, ApiStatusArten.KB, ApiStatusArten.WZ }; if (anzFehler.Contains(ApiStatus)) AnzeigeDialog(DialogArten.Fehler, Helper.StatusFehlerAnzeige(ApiStatus)); } else Daten.AktKfzAction = KfzActions.Fehler; if (Daten.AktLieferung.ST == StatusLieferung.Fertig) { Daten.AktLieferung = null; Daten.OnLieferungChange(); } Daten.AktualisiereLieferung(); return true; }
public static string StatusFehlerAnzeige(ApiStatusArten status, string fehlerText = null) { var grund = string.IsNullOrWhiteSpace(fehlerText) ? "" : " Grund: " + fehlerText + "."; return(status switch { ApiStatusArten.DB => "Fehler in Datenbank!" + grund, ApiStatusArten.Intern => $"Interner Fehler!" + grund, ApiStatusArten.SI => "Session ID is ungültig." + (string.IsNullOrWhiteSpace(fehlerText) ? "" : $" Fahrzeuge wurde von {fehlerText} übernommen."), ApiStatusArten.RE => "Handy Regisitrierungsfehler." + grund, ApiStatusArten.WZ => "Konto Fahrer gesperrt. Melden Sie sich bei einem Verantwortlichen." + grund, ApiStatusArten.KB => "Sie haben keine Berechtigung für das Fahrzeug." + grund, ApiStatusArten.Ok => null, _ => "Fehler in Statusart" });