using GMCabsDriverAssistant.Models; using GMCabsDriverAssistant.Services; using GMCabsDriverAssistantSolution.Views; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GMCabsDriverAssistantSolution.ViewModels { [QueryProperty(nameof(PhoneNumber), nameof(PhoneNumber))] public class UserSignUpViewModel : BaseViewModel { #region Fields private string driverslicence; private string password; private string firstname; private string lastname; private string email; private string message; private string phoneNumber; #endregion #region Properties public string DriverLicence { get => driverslicence; set { SetProperty(ref driverslicence, value); ErrorMessage = string.Empty; } } public string Password { get => password; set { SetProperty(ref password, value); ErrorMessage = string.Empty; } } public string FirstName { get => firstname; set { SetProperty(ref firstname, value); ErrorMessage = string.Empty; } } public string LastName { get => lastname; set { SetProperty(ref lastname, value); ErrorMessage = string.Empty; } } public string Email { get => email; set { SetProperty(ref email, value); ErrorMessage = string.Empty; } } public string ErrorMessage { get => message; set => SetProperty(ref message, value); } public Command SignUpCommand { get; } public string PhoneNumber { get => phoneNumber; set { SetProperty(ref phoneNumber, value); ErrorMessage = string.Empty; } } #endregion #region Constructor public UserSignUpViewModel() { SignUpCommand = new Command(OnSignUpClicked); #if DEBUG #endif } #endregion #region Methods private async void OnSignUpClicked(object obj) { CreateLightDriverRequest createLightDriverRequest = new CreateLightDriverRequest(); ErrorMessage = ""; if (string.IsNullOrWhiteSpace(DriverLicence)) { ErrorMessage = "Driver Licence required for Sign-Up"; return; } if (string.IsNullOrWhiteSpace(FirstName)) { ErrorMessage = "First Name required for Sign-Up"; return; } if (string.IsNullOrWhiteSpace(LastName)) { ErrorMessage = "Last Name required for Sign-Up"; return; } if (string.IsNullOrWhiteSpace(PhoneNumber)) { ErrorMessage = "Mobile required for Sign-Up"; return; } if (string.IsNullOrWhiteSpace(Password)) { ErrorMessage = "Password required for Sign-Up"; return; } if (string.IsNullOrWhiteSpace(Email)) { ErrorMessage = "Email required for Sign-Up"; return; } IsBusy = true; createLightDriverRequest.DriverLicence = DriverLicence; createLightDriverRequest.FirstName = FirstName; createLightDriverRequest.LastName = LastName; createLightDriverRequest.Password = Password; createLightDriverRequest.Email = Email; createLightDriverRequest.MobileNumber = PhoneNumber; GMCabsDriverService gmCabsDriverService = new GMCabsDriverService(); bool result = await gmCabsDriverService.CreateLightDriver(createLightDriverRequest); if (result) { IsBusy = false; await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserSignUpPage)}/{nameof(UserRegistrationVerifyOtpPage)}?{nameof(UserSignUpViewModel.PhoneNumber)}={PhoneNumber}"); } else { IsBusy = false; ErrorMessage = "Sign Up falied"; return; } } #endregion } }