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.

105 lines
2.7 KiB

1 year ago
  1. using GMCabsDriverAssistant.Services;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace GMCabsDriverAssistantSolution.ViewModels
  8. {
  9. [QueryProperty(nameof(PhoneNumber), nameof(PhoneNumber))]
  10. public class UserRegistrationUpdateDriverPinViewModel : BaseViewModel
  11. {
  12. #region Fields
  13. private string phoneNumber;
  14. private string pin;
  15. private string confirmPin;
  16. private string errorMessage;
  17. #endregion
  18. #region Properties
  19. public string PhoneNumber
  20. {
  21. get => phoneNumber;
  22. set => phoneNumber = value;
  23. }
  24. public string Pin
  25. {
  26. get => pin;
  27. set
  28. {
  29. SetProperty(ref pin, value);
  30. ErrorMessage = string.Empty;
  31. }
  32. }
  33. public string ConfirmPin
  34. {
  35. get => confirmPin;
  36. set
  37. {
  38. SetProperty(ref confirmPin, value);
  39. ErrorMessage = string.Empty;
  40. }
  41. }
  42. public string ErrorMessage
  43. {
  44. get => errorMessage;
  45. set => SetProperty(ref errorMessage, value);
  46. }
  47. public Command Register { get; set; }
  48. public Command Back { get; set; }
  49. #endregion
  50. #region Constructor
  51. public UserRegistrationUpdateDriverPinViewModel()
  52. {
  53. Register = new Command(OnRegisterClicked);
  54. Back = new Command(OnBackClicked);
  55. }
  56. #endregion
  57. #region Methods
  58. private async void OnRegisterClicked(object obj)
  59. {
  60. ErrorMessage = "";
  61. if (string.IsNullOrWhiteSpace(Pin))
  62. {
  63. ErrorMessage = "Pin is not entered";
  64. return;
  65. }
  66. if (string.IsNullOrWhiteSpace(ConfirmPin))
  67. {
  68. ErrorMessage = "Confirm Pin is not entered";
  69. return;
  70. }
  71. if (Pin != ConfirmPin)
  72. {
  73. ErrorMessage = "Pin and Confirm Pin does not match";
  74. return;
  75. }
  76. GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  77. var isDriverPinUpdated = await gmCabsDriverService.UpdateDriverPin(PhoneNumber, Convert.ToInt32(Pin));
  78. if (!isDriverPinUpdated)
  79. {
  80. ErrorMessage = "Pin could be saved. Please try again.";
  81. return;
  82. }
  83. await Shell.Current.GoToAsync($"../../..");
  84. }
  85. private async void OnBackClicked(object obj)
  86. {
  87. await Shell.Current.GoToAsync("..");
  88. }
  89. #endregion
  90. }
  91. }