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.

82 lines
2.4 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. public class UserRegistrationGenerateOtpViewModel : BaseViewModel
  11. {
  12. #region Fields
  13. private string phoneNumber;
  14. private string errorMessage;
  15. #endregion
  16. #region Properties
  17. public string PhoneNumber
  18. {
  19. get => phoneNumber;
  20. set
  21. {
  22. SetProperty(ref phoneNumber, value);
  23. ErrorMessage = string.Empty;
  24. }
  25. }
  26. public string ErrorMessage
  27. {
  28. get => errorMessage;
  29. set => SetProperty(ref errorMessage, value);
  30. }
  31. public Command Register { get; set; }
  32. public Command Back { get; set; }
  33. #endregion
  34. #region Constructor
  35. public UserRegistrationGenerateOtpViewModel()
  36. {
  37. Register = new Command(OnRegisterClicked);
  38. Back = new Command(OnBackClicked);
  39. #if DEBUG
  40. //PhoneNumber = "0411111119";
  41. #endif
  42. }
  43. #endregion
  44. #region Methods
  45. private async void OnRegisterClicked(object obj)
  46. {
  47. ErrorMessage = "";
  48. if (string.IsNullOrWhiteSpace(PhoneNumber))
  49. {
  50. ErrorMessage = "Mobile required for Registration";
  51. return;
  52. }
  53. GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  54. var isOtpSent = await gmCabsDriverService.GenerateOtp(PhoneNumber);
  55. if (!isOtpSent)
  56. {
  57. ErrorMessage = "";
  58. await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserRegistrationGenerateOtpPage)}/{nameof(UserSignUpPage)}?{nameof(UserRegistrationVerifyOtpViewModel.PhoneNumber)}={PhoneNumber}");
  59. }
  60. else
  61. {
  62. await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserRegistrationGenerateOtpPage)}/{nameof(UserRegistrationVerifyOtpPage)}?{nameof(UserRegistrationVerifyOtpViewModel.PhoneNumber)}={PhoneNumber}");
  63. }
  64. }
  65. private async void OnBackClicked(object obj)
  66. {
  67. await Shell.Current.GoToAsync("..");
  68. }
  69. #endregion
  70. }
  71. }