@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 (ResponseStatus.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 (ResponseStatus.Error == responseStatus) { } else { } }
@if (!running) { if (ResponseStatus.Error == responseStatus) {
@I18n["EditData"]
@I18n["Cancel"]
} else {
@I18n["Finished"]
} }
@code { enum ResponseStatus : ushort { OK = 1, Error = 10, NoConnection = 20 } private ResponseStatus responseStatus = ResponseStatus.NoConnection; private bool running = true; private ReportResponse response; protected async override void OnInitialized() { base.OnInitialized(); try { if (ReportDataProvider.ReportRepositoryItem != null) { response = await IBicycleRestService.SendMissingReport((MissingReportRepositoryItem)ReportDataProvider.ReportRepositoryItem); } else { response = await IBicycleRestService.SendMissingReport(ReportDataProvider.Report); } responseStatus = response == null ? ResponseStatus.NoConnection : System.Net.HttpStatusCode.OK == response.StatusCode ? ResponseStatus.OK : ResponseStatus.Error; } catch (HttpRequestException ex) { response = new(I18n.GetString("MissingBike"), new string[] { ex.Message }); responseStatus = ResponseStatus.Error; } running = false; if (ResponseStatus.OK == responseStatus) { Toaster.ShowSuccess(I18n.GetString("MissingBike"), response.Message); PageHistoryManager.Reset(); } else if (ResponseStatus.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"); } private void Cancel() { NavigationManager.NavigateTo("caritas_services"); } private void EditData() { NavigationManager.NavigateTo("fundvelo/keydata/Missing"); } }