You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.3 KiB

1 year ago
  1. using GMCabsDriverAssistant.Services;
  2. using GMCabsDriverAssistantSolution.Views;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace GMCabsDriverAssistantSolution.ViewModels
  9. {
  10. class TaxiInstallViewModel : BaseViewModel
  11. {
  12. #region Fields
  13. private string taxiNumber;
  14. private string message;
  15. #endregion
  16. #region Properties
  17. public Command SaveCommand { get; }
  18. public Command BackCommand { get; }
  19. public string TaxiNumber
  20. {
  21. get => taxiNumber;
  22. set
  23. {
  24. SetProperty(ref taxiNumber, value);
  25. ErrorMessage = string.Empty;
  26. }
  27. }
  28. public string ErrorMessage
  29. {
  30. get => message;
  31. set => SetProperty(ref message, value);
  32. }
  33. #endregion
  34. #region Constructor
  35. public TaxiInstallViewModel()
  36. {
  37. SaveCommand = new Command(OnSaveClicked);
  38. BackCommand = new Command(OnBackClicked);
  39. }
  40. #endregion
  41. #region Methods
  42. private async void OnSaveClicked(object obj)
  43. {
  44. IsBusy = true;
  45. ErrorMessage = "";
  46. GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  47. if (string.IsNullOrWhiteSpace(TaxiNumber))
  48. {
  49. IsBusy = false;
  50. ErrorMessage = "Taxi Number required";
  51. return;
  52. }
  53. var isValidTaxinumberInstallation = await gmCabsDriverService.ValidateTaxiNumberInstallation(TaxiNumber);
  54. if (isValidTaxinumberInstallation)
  55. {
  56. Preferences.Set("taxiNumber", TaxiNumber.ToString());
  57. IsBusy = false;
  58. await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(AdminPasswordPage)}/{nameof(TaxiInstallPage)}/{nameof(InstallCompletePage)}");
  59. }
  60. else
  61. {
  62. IsBusy = false;
  63. ErrorMessage = "Taxi number not valid";
  64. }
  65. }
  66. private async void OnBackClicked(object obj)
  67. {
  68. ErrorMessage = "";
  69. await Shell.Current.GoToAsync("..");
  70. }
  71. #endregion
  72. }
  73. }