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.

111 lines
5.6 KiB

1 year ago
  1. using GMCabsDriverAssistant.Models;
  2. using GMCabsDriverAssistant.Services;
  3. using GMCabsDriverAssistant.Utils;
  4. using Plugin.FirebasePushNotification;
  5. using Sentry;
  6. namespace GMCabsDriverAssistantSolution.Views;
  7. [XamlCompilation(XamlCompilationOptions.Compile)]
  8. public partial class SplashPage : ContentPage
  9. {
  10. public SplashPage()
  11. {
  12. InitializeComponent();
  13. }
  14. [Obsolete]
  15. protected async override void OnAppearing()
  16. {
  17. base.OnAppearing();
  18. var checkFcmToken = Preferences.Get("FcmToken", "");
  19. var token = Preferences.Get(SecureStorageData.Token, "");
  20. if (Device.RuntimePlatform != Device.iOS)
  21. {
  22. DependencyService.Resolve<INotificationChannelService>().ManageNotificationChannelService();
  23. }
  24. if (string.IsNullOrWhiteSpace(checkFcmToken) || string.IsNullOrWhiteSpace(token))
  25. {
  26. await Shell.Current.GoToAsync($"//{nameof(LoginPage)}");
  27. }
  28. else
  29. {
  30. var userCode = Preferences.Get("UserCode", null);
  31. if (!string.IsNullOrWhiteSpace(userCode))
  32. {
  33. SentrySdk.ConfigureScope(scope =>
  34. {
  35. scope.User = new User
  36. {
  37. Id = userCode.ToString()
  38. };
  39. });
  40. }
  41. GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
  42. var imeiNumber = Preferences.Get("imeiNumber", null);
  43. var carNumber = Preferences.Get("carNumber", null);
  44. var fcmToken = CrossFirebasePushNotification.Current.Token;
  45. ValidateTokenResponseDto validateTokenResponseDto = new ValidateTokenResponseDto();
  46. validateTokenResponseDto = await gmCabsDriverService.ValidateAuthToken(token, fcmToken);
  47. var isTablet = Preferences.Get("IsTablet", false);
  48. if (Device.RuntimePlatform == Device.Android && isTablet && !string.IsNullOrWhiteSpace(imeiNumber) && !string.IsNullOrWhiteSpace(carNumber))
  49. {
  50. validateTokenResponseDto.CanAcceptBookings = true;
  51. validateTokenResponseDto.CanUpdateLicence = false;
  52. validateTokenResponseDto.CanScanVouchers = false;
  53. validateTokenResponseDto.CanViewCoupons = false;
  54. validateTokenResponseDto.CanViewSettings = false;
  55. validateTokenResponseDto.CanViewHome = false;
  56. validateTokenResponseDto.CanViewJobHistory = true;
  57. Preferences.Set(SecureStorageData.CanAcceptBookings, validateTokenResponseDto.CanAcceptBookings);
  58. Preferences.Set(SecureStorageData.CanUpdateLicence, validateTokenResponseDto.CanUpdateLicence);
  59. Preferences.Set(SecureStorageData.CanScanVouchers, validateTokenResponseDto.CanScanVouchers);
  60. Preferences.Set(SecureStorageData.CanViewCoupons, validateTokenResponseDto.CanViewCoupons);
  61. Preferences.Set(SecureStorageData.CanViewSettings, validateTokenResponseDto.CanViewSettings);
  62. Preferences.Set(SecureStorageData.CanViewHome, validateTokenResponseDto.CanViewHome);
  63. Preferences.Set(SecureStorageData.CanViewJobHistory, validateTokenResponseDto.CanViewJobHistory);
  64. }
  65. else
  66. {
  67. //validateTokenResponseDto.CanAcceptBookings = true;
  68. //validateTokenResponseDto.CanUpdateLicence = true;
  69. //validateTokenResponseDto.CanScanVouchers = true;
  70. //validateTokenResponseDto.CanViewCoupons = true;
  71. //validateTokenResponseDto.CanViewSettings = true;
  72. //validateTokenResponseDto.CanViewHome = true;
  73. //validateTokenResponseDto.CanViewJobHistory = false;
  74. Preferences.Set(SecureStorageData.CanAcceptBookings, validateTokenResponseDto.CanAcceptBookings);
  75. Preferences.Set(SecureStorageData.CanUpdateLicence, validateTokenResponseDto.CanUpdateLicence);
  76. Preferences.Set(SecureStorageData.CanScanVouchers, validateTokenResponseDto.CanScanVouchers);
  77. Preferences.Set(SecureStorageData.CanViewCoupons, validateTokenResponseDto.CanViewCoupons);
  78. Preferences.Set(SecureStorageData.CanViewSettings, validateTokenResponseDto.CanViewSettings);
  79. Preferences.Set(SecureStorageData.CanViewHome, validateTokenResponseDto.CanViewHome);
  80. Preferences.Set(SecureStorageData.CanViewJobHistory, validateTokenResponseDto.CanViewJobHistory);
  81. }
  82. if (validateTokenResponseDto.Result)
  83. {
  84. Preferences.Set("FcmToken", fcmToken.ToString());
  85. if (Device.RuntimePlatform == Device.Android && isTablet && !string.IsNullOrWhiteSpace(imeiNumber) && !string.IsNullOrWhiteSpace(carNumber))
  86. {
  87. //await Shell.Current.GoToAsync($"//{nameof(HomePageTablet)}?{nameof(HomePageTabletViewModel.IsBookingConfirmed)}={false}");
  88. IsBusy = false;
  89. }
  90. else
  91. {
  92. IsBusy = false;
  93. await Shell.Current.GoToAsync($"//{nameof(HomePage)}");
  94. //await Shell.Current.GoToAsync(nameof(HomePage));
  95. }
  96. }
  97. else
  98. {
  99. var lastLatitude = Convert.ToDouble(Preferences.Get("lastLat", "0"));
  100. var lastLongitude = Convert.ToDouble(Preferences.Get("lastLng", "0"));
  101. await gmCabsDriverService.LogoutDriverApp(token, lastLatitude, lastLongitude);
  102. await Shell.Current.GoToAsync($"//{nameof(LoginPage)}");
  103. }
  104. }
  105. }
  106. }