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

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
{
public class UserRegistrationGenerateOtpViewModel : BaseViewModel
{
#region Fields
private string phoneNumber;
private string errorMessage;
#endregion
#region Properties
public string PhoneNumber
{
get => phoneNumber;
set
{
SetProperty(ref phoneNumber, value);
ErrorMessage = string.Empty;
}
}
public string ErrorMessage
{
get => errorMessage;
set => SetProperty(ref errorMessage, value);
}
public Command Register { get; set; }
public Command Back { get; set; }
#endregion
#region Constructor
public UserRegistrationGenerateOtpViewModel()
{
Register = new Command(OnRegisterClicked);
Back = new Command(OnBackClicked);
#if DEBUG
//PhoneNumber = "0411111119";
#endif
}
#endregion
#region Methods
private async void OnRegisterClicked(object obj)
{
ErrorMessage = "";
if (string.IsNullOrWhiteSpace(PhoneNumber))
{
ErrorMessage = "Mobile required for Registration";
return;
}
GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
var isOtpSent = await gmCabsDriverService.GenerateOtp(PhoneNumber);
if (!isOtpSent)
{
ErrorMessage = "";
await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserRegistrationGenerateOtpPage)}/{nameof(UserSignUpPage)}?{nameof(UserRegistrationVerifyOtpViewModel.PhoneNumber)}={PhoneNumber}");
}
else
{
await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(UserRegistrationGenerateOtpPage)}/{nameof(UserRegistrationVerifyOtpPage)}?{nameof(UserRegistrationVerifyOtpViewModel.PhoneNumber)}={PhoneNumber}");
}
}
private async void OnBackClicked(object obj)
{
await Shell.Current.GoToAsync("..");
}
#endregion
}
}