|
|
- 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 UserRegistrationVerifyOtpViewModel : BaseViewModel
- {
- #region Fields
- private string phoneNumber;
- private string step1;
- private string step2;
- private string step3;
- private string step4;
- private string errorMessage;
- #endregion
-
- #region Properties
- public string PhoneNumber
- {
- get => phoneNumber;
- set => phoneNumber = value;
- }
- public string Step1
- {
- get => step1;
- set
- {
- SetProperty(ref step1, value);
- ErrorMessage = string.Empty;
- }
- }
- public string Step2
- {
- get => step2;
- set
- {
- SetProperty(ref step2, value);
- ErrorMessage = string.Empty;
- }
- }
- public string Step3
- {
- get => step3;
- set
- {
- SetProperty(ref step3, value);
- ErrorMessage = string.Empty;
- }
- }
- public string Step4
- {
- get => step4;
- set
- {
- SetProperty(ref step4, value);
- ErrorMessage = string.Empty;
- }
- }
- public string ErrorMessage
- {
- get => errorMessage;
- set => SetProperty(ref errorMessage, value);
- }
- public Command VerifyOtp { get; set; }
- public Command Back { get; set; }
-
- #endregion
-
- #region Constructor
- public UserRegistrationVerifyOtpViewModel()
- {
- VerifyOtp = new Command(OnVerifyOtpClicked);
- Back = new Command(OnBackClicked);
- }
- #endregion
-
- #region Methods
- private async void OnVerifyOtpClicked(object obj)
- {
- ErrorMessage = "";
-
- if (string.IsNullOrWhiteSpace(Step1) || string.IsNullOrWhiteSpace(Step2) || string.IsNullOrWhiteSpace(Step3) || string.IsNullOrWhiteSpace(Step4))
- {
- ErrorMessage = "OTP required for Registration";
- return;
- }
-
- GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
-
- var otp = Step1 + Step2 + Step3 + Step4;
- var isOtpVerified = await gmCabsDriverService.VerifyOtp(PhoneNumber, otp);
- if (!isOtpVerified)
- {
- ErrorMessage = "OTP is incorrect";
- return;
- }
-
- await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserRegistrationGenerateOtpPage)}/{nameof(UserRegistrationVerifyOtpPage)}/{nameof(UserRegistrationUpdateDriverPinPage)}?{nameof(UserRegistrationUpdateDriverPinViewModel.PhoneNumber)}={phoneNumber}");
- }
-
- private async void OnBackClicked(object obj)
- {
- await Shell.Current.GoToAsync("..");
- }
- #endregion
- }
- }
|