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