PWA Fundvelo der Caritas.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

CaritasServiceFundVeloFoundConclusion.razor 3.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. @page "/fundvelo/conclusion_found"
  2. @using cwebplusApp.Shared.Services;
  3. @using cwebplusApp.Shared.Models;
  4. @inject NavigationManager NavigationManager;
  5. @inject IStringLocalizer<Resources> i18n;
  6. @inject PageHistoryManager PageHistoryManager;
  7. @inject ReportDataProvider ReportDataProvider;
  8. @inject ILFBicycleRest ILFBicycleRest;
  9. @inject Toaster Toaster;
  10. @inject AppState AppState;
  11. <div class="row px-3 h-100">
  12. <div class="row no-gutters align-items-start justify-content-center w-100">
  13. <MatHeadline4 Style="font-family:Ubuntu;padding-top:1em">@i18n["Confirmation"]</MatHeadline4>
  14. </div>
  15. @if (responseOk) {
  16. <div class="row no-gutters align-items-start justify-content-center w-100" style="height:fit-content">
  17. <div class="w-100" style="text-align: center">
  18. <MatHeadline6 Style="font-family:Ubuntu">@i18n["FinishedTextFound"]</MatHeadline6>
  19. </div>
  20. <div class="w-100" style="text-align: center">
  21. <MatHeadline6 Style="font-family:Ubuntu">@referenceNumber</MatHeadline6>
  22. </div>
  23. </div>
  24. }
  25. <div class="row no-gutters align-items-start justify-content-center w-100" style="height:fit-content">
  26. @if (running) {
  27. <div style="width:48px;margin:0 auto;">
  28. <MatProgressCircle Indeterminate="true" Size="MatProgressCircleSize.Large" />
  29. </div>
  30. <div class="w-100" style="text-align:center;">
  31. <h6 style="font-style:italic;padding-bottom:1em">@i18n["Info.Report.Transmitting"]</h6>
  32. </div>
  33. } else {
  34. if (responseOk) {
  35. <Animate Animation="Animations.ZoomIn" Duration="TimeSpan.FromSeconds(2.5)">
  36. <DoneImage></DoneImage>
  37. </Animate>
  38. } else {
  39. <Animate Animation="Animations.ZoomIn" Duration="TimeSpan.FromSeconds(2.5)">
  40. <FailureImage></FailureImage>
  41. </Animate>
  42. }
  43. }
  44. </div>
  45. <div class="row no-gutters align-items-end justify-content-center w-100" style="padding-bottom:2em;padding-top:2em">
  46. <div class="col w-100 text-center">
  47. <MatButton Class="w-50" Raised="true" @onclick="Finished">@i18n["Finished"]</MatButton>
  48. </div>
  49. </div>
  50. </div>
  51. @code {
  52. private Animate doneAnimZoom;
  53. private bool responseOk = false;
  54. private bool running = true;
  55. private string referenceNumber;
  56. ReportResponse response;
  57. protected async override void OnInitialized() {
  58. base.OnInitialized();
  59. PageHistoryManager.AddPageToHistory(NavigationManager.Uri);
  60. try {
  61. response = await ILFBicycleRest.SendFoundReport(ReportDataProvider.Report);
  62. responseOk = System.Net.HttpStatusCode.OK == response.StatusCode ? true : false;
  63. } catch (HttpRequestException ex) {
  64. response = new(i18n.GetString("FoundBike"), new string[] { ex.Message });
  65. responseOk = false;
  66. }
  67. running = false;
  68. if (responseOk) {
  69. Toaster.ShowSuccess(i18n.GetString("FoundBike"), response.Message);
  70. referenceNumber = (response.Data != null && response.Data.Length > 0) ? response.Data[0] : "-";
  71. PageHistoryManager.Reset();
  72. } else {
  73. Toaster.ShowError(response.Message, response.GetDataAsFormattedList());
  74. }
  75. StateHasChanged();
  76. AppState.NotifyChanged();
  77. }
  78. private void Finished() {
  79. NavigationManager.NavigateTo("caritas_services");
  80. }
  81. }