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
|
|
}
|
|
}
|