@page "/fundvelo/conclusion_missing" @using cwebplusApp.Shared.Services; @using cwebplusApp.Shared.Models; @using cwebplusApp.Components; @inject NavigationManager NavigationManager; @inject IStringLocalizer i18n; @inject PageHistoryManager PageHistoryManager; @inject ReportDataProvider ReportDataProvider; @inject IBicycleRestService IBicycleRestService; @inject Toaster Toaster; @inject AppState AppState;
@i18n["Info"]
@if (running) {
@i18n["Info.Report.Transmitting"]
} else { if (ResposeStatus.OK == responseStatus) { @i18n["FinishedTextMissing"] @i18n["FinishedTextMissing_Heading1"]
  • @i18n["FinishedTextMissing_2"]
  • @i18n["FinishedTextMissing_3"]
@i18n["FinishedTextMissing_Heading2"]
  • @i18n["FinishedTextMissing_4"]
  • @i18n["FinishedTextMissing_5"]
  • @i18n["FinishedTextMissing_6"]
@i18n["FinishedTextMissing_Heading3"]
@i18n["FinishedTextMissing_LostOffice_Phone"]
@i18n["FinishedTextMissing_LostOffice_Mail"]
@i18n["FinishedTextMissing_LostOffice_Address"]
} else if (ResposeStatus.Error == responseStatus) { } else { } }
@i18n["Finished"]
@code { enum ResposeStatus : ushort { OK = 1, Error = 10, NoConnection = 20 } private ResposeStatus responseStatus = ResposeStatus.NoConnection; private bool running = true; ReportResponse response; protected async override void OnInitialized() { base.OnInitialized(); PageHistoryManager.AddPageToHistory(NavigationManager.Uri); try { if (ReportDataProvider.ReportRepositoryItem != null) { response = await IBicycleRestService.SendMissingReport((MissingReportRepositoryItem)ReportDataProvider.ReportRepositoryItem); } else { response = await IBicycleRestService.SendMissingReport(ReportDataProvider.Report); } responseStatus = response == null ? ResposeStatus.NoConnection : System.Net.HttpStatusCode.OK == response.StatusCode ? ResposeStatus.OK : ResposeStatus.Error; } catch (HttpRequestException ex) { response = new(i18n.GetString("MissingBike"), new string[] { ex.Message }); responseStatus = ResposeStatus.Error; } running = false; if (ResposeStatus.OK == responseStatus) { Toaster.ShowSuccess(i18n.GetString("MissingBike"), response.Message); PageHistoryManager.Reset(); } else if (ResposeStatus.Error == responseStatus) { Toaster.ShowError(response.Message, response.GetDataAsFormattedList()); } else { Toaster.ShowWarning(i18n.GetString("Warning.NoConnection.Title"), i18n.GetString("Warning.NoConnection.Msg")); PageHistoryManager.Reset(); } StateHasChanged(); AppState.NotifyChanged(); } private void Finished() { NavigationManager.NavigateTo("caritas_services"); } }