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 { class TaxiInstallViewModel : BaseViewModel { #region Fields private string taxiNumber; private string message; #endregion #region Properties public Command SaveCommand { get; } public Command BackCommand { get; } public string TaxiNumber { get => taxiNumber; set { SetProperty(ref taxiNumber, value); ErrorMessage = string.Empty; } } public string ErrorMessage { get => message; set => SetProperty(ref message, value); } #endregion #region Constructor public TaxiInstallViewModel() { SaveCommand = new Command(OnSaveClicked); BackCommand = new Command(OnBackClicked); } #endregion #region Methods private async void OnSaveClicked(object obj) { IsBusy = true; ErrorMessage = ""; GMCabsDriverService gmCabsDriverService = new GMCabsDriverService(); if (string.IsNullOrWhiteSpace(TaxiNumber)) { IsBusy = false; ErrorMessage = "Taxi Number required"; return; } var isValidTaxinumberInstallation = await gmCabsDriverService.ValidateTaxiNumberInstallation(TaxiNumber); if (isValidTaxinumberInstallation) { Preferences.Set("taxiNumber", TaxiNumber.ToString()); IsBusy = false; await Shell.Current.GoToAsync($"//{nameof(LoginPage)}/{nameof(AdminPasswordPage)}/{nameof(TaxiInstallPage)}/{nameof(InstallCompletePage)}"); } else { IsBusy = false; ErrorMessage = "Taxi number not valid"; } } private async void OnBackClicked(object obj) { ErrorMessage = ""; await Shell.Current.GoToAsync(".."); } #endregion } }