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.

154 lines
4.6 KiB

1 year ago
  1. using GMCabsDriverAssistant.Models;
  2. using GMCabsDriverAssistant.Services;
  3. using GMCabsDriverAssistantSolution.Views;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace GMCabsDriverAssistantSolution.ViewModels
  10. {
  11. [QueryProperty(nameof(PhoneNumber), nameof(PhoneNumber))]
  12. public class UserSignUpViewModel : BaseViewModel
  13. {
  14. #region Fields
  15. private string driverslicence;
  16. private string password;
  17. private string firstname;
  18. private string lastname;
  19. private string email;
  20. private string message;
  21. private string phoneNumber;
  22. #endregion
  23. #region Properties
  24. public string DriverLicence
  25. {
  26. get => driverslicence;
  27. set
  28. {
  29. SetProperty(ref driverslicence, value);
  30. ErrorMessage = string.Empty;
  31. }
  32. }
  33. public string Password
  34. {
  35. get => password;
  36. set
  37. {
  38. SetProperty(ref password, value);
  39. ErrorMessage = string.Empty;
  40. }
  41. }
  42. public string FirstName
  43. {
  44. get => firstname;
  45. set
  46. {
  47. SetProperty(ref firstname, value);
  48. ErrorMessage = string.Empty;
  49. }
  50. }
  51. public string LastName
  52. {
  53. get => lastname;
  54. set
  55. {
  56. SetProperty(ref lastname, value);
  57. ErrorMessage = string.Empty;
  58. }
  59. }
  60. public string Email
  61. {
  62. get => email;
  63. set
  64. {
  65. SetProperty(ref email, value);
  66. ErrorMessage = string.Empty;
  67. }
  68. }
  69. public string ErrorMessage
  70. {
  71. get => message;
  72. set => SetProperty(ref message, value);
  73. }
  74. public Command SignUpCommand { get; }
  75. public string PhoneNumber
  76. {
  77. get => phoneNumber;
  78. set
  79. {
  80. SetProperty(ref phoneNumber, value);
  81. ErrorMessage = string.Empty;
  82. }
  83. }
  84. #endregion
  85. #region Constructor
  86. public UserSignUpViewModel()
  87. {
  88. SignUpCommand = new Command(OnSignUpClicked);
  89. #if DEBUG
  90. #endif
  91. }
  92. #endregion
  93. #region Methods
  94. private async void OnSignUpClicked(object obj)
  95. {
  96. CreateLightDriverRequest createLightDriverRequest = new CreateLightDriverRequest();
  97. ErrorMessage = "";
  98. if (string.IsNullOrWhiteSpace(DriverLicence))
  99. {
  100. ErrorMessage = "Driver Licence required for Sign-Up";
  101. return;
  102. }
  103. if (string.IsNullOrWhiteSpace(FirstName))
  104. {
  105. ErrorMessage = "First Name required for Sign-Up";
  106. return;
  107. }
  108. if (string.IsNullOrWhiteSpace(LastName))
  109. {
  110. ErrorMessage = "Last Name required for Sign-Up";
  111. return;
  112. }
  113. if (string.IsNullOrWhiteSpace(PhoneNumber))
  114. {
  115. ErrorMessage = "Mobile required for Sign-Up";
  116. return;
  117. }
  118. if (string.IsNullOrWhiteSpace(Password))
  119. {
  120. ErrorMessage = "Password required for Sign-Up";
  121. return;
  122. }
  123. if (string.IsNullOrWhiteSpace(Email))
  124. {
  125. ErrorMessage = "Email required for Sign-Up";
  126. return;
  127. }
  128. IsBusy = true;
  129. createLightDriverRequest.DriverLicence = DriverLicence;
  130. createLightDriverRequest.FirstName = FirstName;
  131. createLightDriverRequest.LastName = LastName;
  132. createLightDriverRequest.Password = Password;
  133. createLightDriverRequest.Email = Email;
  134. createLightDriverRequest.MobileNumber = PhoneNumber;
  135. GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  136. bool result = await gmCabsDriverService.CreateLightDriver(createLightDriverRequest);
  137. if (result)
  138. {
  139. IsBusy = false;
  140. await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserSignUpPage)}/{nameof(UserRegistrationVerifyOtpPage)}?{nameof(UserSignUpViewModel.PhoneNumber)}={PhoneNumber}");
  141. }
  142. else
  143. {
  144. IsBusy = false;
  145. ErrorMessage = "Sign Up falied";
  146. return;
  147. }
  148. }
  149. #endregion
  150. }
  151. }