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.
 

105 lines
2.7 KiB

using GMCabsDriverAssistant.Services;
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 UserRegistrationUpdateDriverPinViewModel : BaseViewModel
{
#region Fields
private string phoneNumber;
private string pin;
private string confirmPin;
private string errorMessage;
#endregion
#region Properties
public string PhoneNumber
{
get => phoneNumber;
set => phoneNumber = value;
}
public string Pin
{
get => pin;
set
{
SetProperty(ref pin, value);
ErrorMessage = string.Empty;
}
}
public string ConfirmPin
{
get => confirmPin;
set
{
SetProperty(ref confirmPin, 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 UserRegistrationUpdateDriverPinViewModel()
{
Register = new Command(OnRegisterClicked);
Back = new Command(OnBackClicked);
}
#endregion
#region Methods
private async void OnRegisterClicked(object obj)
{
ErrorMessage = "";
if (string.IsNullOrWhiteSpace(Pin))
{
ErrorMessage = "Pin is not entered";
return;
}
if (string.IsNullOrWhiteSpace(ConfirmPin))
{
ErrorMessage = "Confirm Pin is not entered";
return;
}
if (Pin != ConfirmPin)
{
ErrorMessage = "Pin and Confirm Pin does not match";
return;
}
GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
var isDriverPinUpdated = await gmCabsDriverService.UpdateDriverPin(PhoneNumber, Convert.ToInt32(Pin));
if (!isDriverPinUpdated)
{
ErrorMessage = "Pin could be saved. Please try again.";
return;
}
await Shell.Current.GoToAsync($"../../..");
}
private async void OnBackClicked(object obj)
{
await Shell.Current.GoToAsync("..");
}
#endregion
}
}