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.

113 lines
3.7 KiB

1 year ago
  1. using GMCabsDriverAssistant.Models;
  2. using GMCabsDriverAssistant.Services;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Collections.ObjectModel;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace GMCabsDriverAssistantSolution.ViewModels
  10. {
  11. class ImeiNumberInstallViewModel : BaseViewModel
  12. {
  13. #region Fields
  14. private string selectedImei;
  15. private bool isSelectImeiDetailsVisisble = false;
  16. private string selectedCarNumber;
  17. private string installedImei;
  18. private bool installedImeiExists;
  19. #endregion
  20. #region Properties
  21. public ObservableCollection<ImeiDto> ImeiNumberLists { get; }
  22. public Command<ImeiDto> SelectImei { get; }
  23. public string SelectedImei
  24. {
  25. get => selectedImei;
  26. set => SetProperty(ref selectedImei, value);
  27. }
  28. public bool IsSelectImeiDetailsVisisble
  29. {
  30. get => isSelectImeiDetailsVisisble;
  31. set
  32. {
  33. SetProperty(ref isSelectImeiDetailsVisisble, value);
  34. }
  35. }
  36. public string InstalledImei
  37. {
  38. get => installedImei;
  39. set => SetProperty(ref installedImei, value);
  40. }
  41. public bool InstalledImeiExists
  42. {
  43. get => installedImeiExists;
  44. set => SetProperty(ref installedImeiExists, value);
  45. }
  46. #endregion
  47. #region Constructor
  48. public ImeiNumberInstallViewModel()
  49. {
  50. Title = "Taxi Installation";
  51. ImeiNumberLists = new ObservableCollection<ImeiDto>();
  52. SelectImei = new Command<ImeiDto>(OnselectedImeiButtonClicked);
  53. InstalledImei = Preferences.Get("imeiNumber", null);
  54. if (!string.IsNullOrEmpty(InstalledImei))
  55. {
  56. InstalledImeiExists = true;
  57. }
  58. else
  59. {
  60. InstalledImeiExists = false;
  61. InstalledImei = "NOT INSTALLED";
  62. }
  63. }
  64. #endregion
  65. #region Methods
  66. public async void GetImeiDetails(string entry)
  67. {
  68. if (entry == String.Empty)
  69. {
  70. ImeiNumberLists.Clear();
  71. }
  72. else
  73. {
  74. GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  75. var imeiLists = await gmCabsDriverService.GetAvailableImeiNumbers(entry);
  76. if (imeiLists != null && imeiLists.Count > 0)
  77. {
  78. ImeiNumberLists.Clear();
  79. foreach (var imei in imeiLists)
  80. {
  81. ImeiDto imeiDto = new ImeiDto();
  82. imeiDto.ImeiNumber = imei.ImeiNumber;
  83. imeiDto.CarNumber = imei.CarNumber;
  84. ImeiNumberLists.Add(imeiDto);
  85. }
  86. }
  87. else
  88. {
  89. ImeiNumberLists.Clear();
  90. }
  91. }
  92. }
  93. private void OnselectedImeiButtonClicked(ImeiDto imeiDto)
  94. {
  95. IsSelectImeiDetailsVisisble = true;
  96. SelectedImei = imeiDto.ImeiNumber;
  97. selectedCarNumber = imeiDto.CarNumber;
  98. }
  99. public void CompleteInstallation()
  100. {
  101. Preferences.Set("imeiNumber", SelectedImei);
  102. Preferences.Set("carNumber", selectedCarNumber);
  103. Preferences.Set("IsTablet", true);
  104. //GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  105. //await gmCabsDriverService.CompleteInstallation(SelectedImei);
  106. }
  107. #endregion
  108. }
  109. }