Browse Source

Initial commit

master
Apalak Dutta 1 year ago
parent
commit
53bb7f6534
214 changed files with 10892 additions and 0 deletions
  1. +27
    -0
      GMCabsDriverAssistantSolution.sln
  2. +20
    -0
      GMCabsDriverAssistantSolution/App.xaml
  3. +219
    -0
      GMCabsDriverAssistantSolution/App.xaml.cs
  4. +240
    -0
      GMCabsDriverAssistantSolution/AppShell.xaml
  5. +236
    -0
      GMCabsDriverAssistantSolution/AppShell.xaml.cs
  6. +18
    -0
      GMCabsDriverAssistantSolution/Constants.Debug.cs
  7. +11
    -0
      GMCabsDriverAssistantSolution/Constants.cs
  8. +6
    -0
      GMCabsDriverAssistantSolution/CustomControls/NoUnderlineEntry.cs
  9. +26
    -0
      GMCabsDriverAssistantSolution/CustomControls/OtpEntry.cs
  10. +11
    -0
      GMCabsDriverAssistantSolution/Enums/BookingNextAction.cs
  11. +18
    -0
      GMCabsDriverAssistantSolution/Enums/BookingStatus.cs
  12. +13
    -0
      GMCabsDriverAssistantSolution/Enums/BookingType.cs
  13. +12
    -0
      GMCabsDriverAssistantSolution/Enums/FareType.cs
  14. +9
    -0
      GMCabsDriverAssistantSolution/Enums/PaymentType.cs
  15. +15
    -0
      GMCabsDriverAssistantSolution/Enums/ServiceType.cs
  16. +11
    -0
      GMCabsDriverAssistantSolution/Enums/TaxiType.cs
  17. +184
    -0
      GMCabsDriverAssistantSolution/GMCabsDriverAssistantSolution.csproj
  18. +12
    -0
      GMCabsDriverAssistantSolution/ILocationConsent.cs
  19. +41
    -0
      GMCabsDriverAssistantSolution/MainPage.xaml
  20. +24
    -0
      GMCabsDriverAssistantSolution/MainPage.xaml.cs
  21. +18
    -0
      GMCabsDriverAssistantSolution/MauiProgram.cs
  22. +10
    -0
      GMCabsDriverAssistantSolution/Messages/LocationErrorMessage.cs
  23. +12
    -0
      GMCabsDriverAssistantSolution/Messages/LocationMessage.cs
  24. +10
    -0
      GMCabsDriverAssistantSolution/Messages/StartServiceMessage.cs
  25. +10
    -0
      GMCabsDriverAssistantSolution/Messages/StopServiceMessage.cs
  26. +14
    -0
      GMCabsDriverAssistantSolution/Models/AcceptBookingTimerDto.cs
  27. +11
    -0
      GMCabsDriverAssistantSolution/Models/AccountBalanceDto.cs
  28. +12
    -0
      GMCabsDriverAssistantSolution/Models/ApiResponseDto.cs
  29. +12
    -0
      GMCabsDriverAssistantSolution/Models/AvailableBooking.cs
  30. +19
    -0
      GMCabsDriverAssistantSolution/Models/AvailablePlotRequestDto.cs
  31. +20
    -0
      GMCabsDriverAssistantSolution/Models/AvailablePlotResponseDto.cs
  32. +254
    -0
      GMCabsDriverAssistantSolution/Models/BookingDto.cs
  33. +12
    -0
      GMCabsDriverAssistantSolution/Models/CancelledBookingResponseDto.cs
  34. +15
    -0
      GMCabsDriverAssistantSolution/Models/ContactCustomerDto.cs
  35. +12
    -0
      GMCabsDriverAssistantSolution/Models/Coupon.cs
  36. +18
    -0
      GMCabsDriverAssistantSolution/Models/CouponDto.cs
  37. +19
    -0
      GMCabsDriverAssistantSolution/Models/CouponHistoryDto.cs
  38. +16
    -0
      GMCabsDriverAssistantSolution/Models/CreateLightDriverRequest.cs
  39. +12
    -0
      GMCabsDriverAssistantSolution/Models/DriverAppSelectedPermissionsDto.cs
  40. +31
    -0
      GMCabsDriverAssistantSolution/Models/DriverRatingResponse.cs
  41. +12
    -0
      GMCabsDriverAssistantSolution/Models/ImeiDto.cs
  42. +19
    -0
      GMCabsDriverAssistantSolution/Models/LocationUpdateRequestDto.cs
  43. +14
    -0
      GMCabsDriverAssistantSolution/Models/LocationVoucherDto.cs
  44. +26
    -0
      GMCabsDriverAssistantSolution/Models/LoginRequestDto.cs
  45. +38
    -0
      GMCabsDriverAssistantSolution/Models/LoginResponseDto.cs
  46. +13
    -0
      GMCabsDriverAssistantSolution/Models/MeterTrip.cs
  47. +17
    -0
      GMCabsDriverAssistantSolution/Models/NotificationDto.cs
  48. +50
    -0
      GMCabsDriverAssistantSolution/Models/PlotResponseDto.cs
  49. +21
    -0
      GMCabsDriverAssistantSolution/Models/RecentScannedCouponDto.cs
  50. +12
    -0
      GMCabsDriverAssistantSolution/Models/ReleaseBookingDto.cs
  51. +20
    -0
      GMCabsDriverAssistantSolution/Models/ResetDriverPinResponse.cs
  52. +28
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/AcceptDeclineBookingRequest.cs
  53. +37
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/AcceptDeclineBookingResponse.cs
  54. +20
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/EftposLoginRequest.cs
  55. +28
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/EftposLoginResponse.cs
  56. +31
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/EndRideRequestDto.cs
  57. +13
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/MessageRequest.cs
  58. +17
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/StartRideRequest.cs
  59. +12
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/StartRideRequestDto.cs
  60. +16
    -0
      GMCabsDriverAssistantSolution/Models/Rydo/StartTripRequest.cs
  61. +34
    -0
      GMCabsDriverAssistantSolution/Models/ShiftResponseDto.cs
  62. +11
    -0
      GMCabsDriverAssistantSolution/Models/SilentModeSettingRequest.cs
  63. +39
    -0
      GMCabsDriverAssistantSolution/Models/StartRideResponse.cs
  64. +210
    -0
      GMCabsDriverAssistantSolution/Models/StartTripResponse.cs
  65. +27
    -0
      GMCabsDriverAssistantSolution/Models/StopoverLocations.cs
  66. +13
    -0
      GMCabsDriverAssistantSolution/Models/TripsBookingResponse.cs
  67. +12
    -0
      GMCabsDriverAssistantSolution/Models/UnreadCountResponseDto.cs
  68. +18
    -0
      GMCabsDriverAssistantSolution/Models/ValidateTokenResponseDto.cs
  69. +9
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/AndroidManifest.xml
  70. +19
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/FirebaseServices.cs
  71. +10
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/MainActivity.cs
  72. +15
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/MainApplication.cs
  73. +6
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/Resources/values/colors.xml
  74. +39
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/google-services.json
  75. +10
    -0
      GMCabsDriverAssistantSolution/Platforms/Android/network_security_config.xml
  76. +9
    -0
      GMCabsDriverAssistantSolution/Platforms/MacCatalyst/AppDelegate.cs
  77. +30
    -0
      GMCabsDriverAssistantSolution/Platforms/MacCatalyst/Info.plist
  78. +15
    -0
      GMCabsDriverAssistantSolution/Platforms/MacCatalyst/Program.cs
  79. +16
    -0
      GMCabsDriverAssistantSolution/Platforms/Tizen/Main.cs
  80. +15
    -0
      GMCabsDriverAssistantSolution/Platforms/Tizen/tizen-manifest.xml
  81. +8
    -0
      GMCabsDriverAssistantSolution/Platforms/Windows/App.xaml
  82. +24
    -0
      GMCabsDriverAssistantSolution/Platforms/Windows/App.xaml.cs
  83. +43
    -0
      GMCabsDriverAssistantSolution/Platforms/Windows/Package.appxmanifest
  84. +15
    -0
      GMCabsDriverAssistantSolution/Platforms/Windows/app.manifest
  85. +9
    -0
      GMCabsDriverAssistantSolution/Platforms/iOS/AppDelegate.cs
  86. +32
    -0
      GMCabsDriverAssistantSolution/Platforms/iOS/Info.plist
  87. +15
    -0
      GMCabsDriverAssistantSolution/Platforms/iOS/Program.cs
  88. +8
    -0
      GMCabsDriverAssistantSolution/Properties/launchSettings.json
  89. +4
    -0
      GMCabsDriverAssistantSolution/Resources/AppIcon/appicon.svg
  90. +8
    -0
      GMCabsDriverAssistantSolution/Resources/AppIcon/appiconfg.svg
  91. BIN
      GMCabsDriverAssistantSolution/Resources/Fonts/OpenSans-Regular.ttf
  92. BIN
      GMCabsDriverAssistantSolution/Resources/Fonts/OpenSans-Semibold.ttf
  93. BIN
      GMCabsDriverAssistantSolution/Resources/Images/adminlock.png
  94. BIN
      GMCabsDriverAssistantSolution/Resources/Images/avail_button.png
  95. BIN
      GMCabsDriverAssistantSolution/Resources/Images/back_arrow.png
  96. BIN
      GMCabsDriverAssistantSolution/Resources/Images/backspace.png
  97. BIN
      GMCabsDriverAssistantSolution/Resources/Images/barcode.png
  98. BIN
      GMCabsDriverAssistantSolution/Resources/Images/baseline_home_black_24dp.png
  99. BIN
      GMCabsDriverAssistantSolution/Resources/Images/busy_button.png
  100. BIN
      GMCabsDriverAssistantSolution/Resources/Images/card_cash.png

+ 27
- 0
GMCabsDriverAssistantSolution.sln View File

@ -0,0 +1,27 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31611.283
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GMCabsDriverAssistantSolution", "GMCabsDriverAssistantSolution\GMCabsDriverAssistantSolution.csproj", "{0EDC2645-979C-4F67-87E5-A9D842F11175}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0EDC2645-979C-4F67-87E5-A9D842F11175}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0EDC2645-979C-4F67-87E5-A9D842F11175}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0EDC2645-979C-4F67-87E5-A9D842F11175}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{0EDC2645-979C-4F67-87E5-A9D842F11175}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0EDC2645-979C-4F67-87E5-A9D842F11175}.Release|Any CPU.Build.0 = Release|Any CPU
{0EDC2645-979C-4F67-87E5-A9D842F11175}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572}
EndGlobalSection
EndGlobal

+ 20
- 0
GMCabsDriverAssistantSolution/App.xaml View File

@ -0,0 +1,20 @@
<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:GMCabsDriverAssistantSolution"
x:Class="GMCabsDriverAssistantSolution.App">
<Application.Resources>
<ResourceDictionary x:Name="dictionary">
<Color x:Key="Primary">#126db5</Color>
<Style TargetType="Button">
<Setter Property="BackgroundColor" Value="{StaticResource Primary}" />
<Setter Property="CornerRadius">
<OnPlatform x:TypeArguments="x:Int32">
<On Platform="Android">30</On>
<On Platform="iOS">24</On>
</OnPlatform>
</Setter>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>

+ 219
- 0
GMCabsDriverAssistantSolution/App.xaml.cs View File

@ -0,0 +1,219 @@
using GMCabsDriverAssistant.Models;
using GMCabsDriverAssistant.Services;
using GMCabsDriverAssistant.Utils;
using GMCabsDriverAssistantSolution.Styles;
using Plugin.FirebasePushNotification;
using System.Diagnostics;
namespace GMCabsDriverAssistantSolution;
public partial class App : Application
{
private static SQLiteDatabaseService database;
public static SQLiteDatabaseService Database
{
get
{
if (database == null)
{
string databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "AvailableBooking.db3");
database = new SQLiteDatabaseService(databasePath);
}
return database;
}
}
public App()
{
InitializeComponent();
dictionary.MergedDictionaries.Add(PhoneLayoutStyle.SharedInstance);
MainPage = new AppShell();
}
[Obsolete]
protected override async void OnStart()
{
try
{
ShareConstant.IsInForeground = true;
Preferences.Set(SecureStorageData.InitLaunched, "");
CrossFirebasePushNotification.Current.Subscribe("all");
CrossFirebasePushNotification.Current.OnTokenRefresh += (s, e) =>
{
Debug.WriteLine($"Token: {e.Token}");
};
Debug.WriteLine($"TOKEN: {CrossFirebasePushNotification.Current.Token}");
CrossFirebasePushNotification.Current.OnNotificationReceived += (s, e) =>
{
try
{
Debug.WriteLine("Received");
if (e.Data.ContainsKey("category"))
{
if (e.Data["category"].ToString().Equals("BookingCancelled"))
{
Device.BeginInvokeOnMainThread(() =>
{
CancelledBookingResponseDto cancelledBookingResponseDto = new CancelledBookingResponseDto();
cancelledBookingResponseDto.PickUPAddress = e.Data["fromAddress"].ToString();
cancelledBookingResponseDto.DropUpAddress = e.Data["toAddress"].ToString();
MessagingCenter.Send(this, nameof(App), cancelledBookingResponseDto);
//if (Device.RuntimePlatform == Device.iOS)
//{
// if (ShareConstant.IsInForeground)
// {
// var player = CrossSimpleAudioPlayer.Current;
// player.Load("system.wav");
// player.Play();
// }
//}
});
}
else if (e.Data["category"].ToString().Equals("BookingClearAccepted"))
{
Device.BeginInvokeOnMainThread(() =>
{
MessagingCenter.Send(this, "ClearAcceptance", string.Empty);
});
}
else if (e.Data["category"].ToString().Equals("CouponRedeemed"))
{
Device.BeginInvokeOnMainThread(() =>
{
CouponDto coupon = new CouponDto();
coupon.Id = e.Data["couponid"].ToString();
coupon.Status = e.Data["status"].ToString();
MessagingCenter.Send(this, nameof(App), coupon);
});
}
else if (e.Data["category"].ToString().Equals("NotificationAvailable"))
{
Device.BeginInvokeOnMainThread(() =>
{
NotificationDto notification = new NotificationDto();
notification.Id = e.Data["id"].ToString();
notification.Subject = e.Data["subject"].ToString();
notification.Body = e.Data["notification_body"].ToString();
MessagingCenter.Send(this, nameof(App), notification);
//if (Device.RuntimePlatform == Device.iOS)
//{
// if (ShareConstant.IsInForeground)
// {
// var player = CrossSimpleAudioPlayer.Current;
// player.Load("system.wav");
// player.Play();
// }
//}
});
}
else if (e.Data["category"].ToString().Equals("IsTabletInstallation"))
{
Debug.WriteLine($"{e.Data["category"]}");
var istablet = Convert.ToBoolean(e.Data["istabletinstallation"].ToString());
Preferences.Set("IsTablet", istablet);
MessagingCenter.Send(this, nameof(App), e.Data["category"].ToString());
}
else if (e.Data["category"].ToString().Equals("DriverAlertNotification"))
{
Device.BeginInvokeOnMainThread(() =>
{
Debug.WriteLine($"{e.Data["category"]}");
MessagingCenter.Send(this, nameof(App), e.Data["category"].ToString());
});
}
else if (e.Data["category"].ToString().Equals("CouponAvailable"))
{
Device.BeginInvokeOnMainThread(() =>
{
Debug.WriteLine($"{e.Data["category"]}");
MessagingCenter.Send(this, nameof(App), e.Data["category"].ToString());
//if (Device.RuntimePlatform == Device.iOS)
//{
// if (ShareConstant.IsInForeground)
// {
// var player = CrossSimpleAudioPlayer.Current;
// player.Load("system.wav");
// player.Play();
// }
//}
});
}
else if (e.Data["category"].ToString().Equals("BookingAvailable"))
{
Device.BeginInvokeOnMainThread(() =>
{
Debug.WriteLine($"{e.Data["category"]}");
MessagingCenter.Send(this, nameof(App), e.Data["category"].ToString());
//if (Device.RuntimePlatform == Device.iOS)
//{
// if (ShareConstant.IsInForeground)
// {
// var player = CrossSimpleAudioPlayer.Current;
// player.Load("newbooking.wav");
// player.Play();
// }
//}
});
}
else
{
Device.BeginInvokeOnMainThread(() =>
{
Debug.WriteLine($"{e.Data["category"]}");
MessagingCenter.Send(this, nameof(App), e.Data["category"].ToString());
});
}
}
else if (e.Data.ContainsKey("coupon_category"))
{
if (e.Data["coupon_category"].ToString().Equals("CouponRedeemed"))
{
Device.BeginInvokeOnMainThread(() =>
{
MessagingCenter.Send(this, nameof(App), e.Data["coupon_category"].ToString());
});
}
}
}
catch (Exception ex)
{
}
};
}
catch (Exception ex)
{
Debug.WriteLine($"Onstart Error Entry: {ex.StackTrace}");
}
}
protected override void OnSleep()
{
try
{
ShareConstant.IsInForeground = false;
}
catch (Exception ex)
{
Debug.WriteLine($"Onsleep Error Entry: {ex.StackTrace}");
}
}
protected override void OnResume()
{
try
{
ShareConstant.IsInForeground = true;
}
catch (Exception ex)
{
Debug.WriteLine($"OnResume Error Entry: {ex.StackTrace}");
}
}
}

+ 240
- 0
GMCabsDriverAssistantSolution/AppShell.xaml View File

@ -0,0 +1,240 @@
<?xml version="1.0" encoding="UTF-8"?>
<Shell xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:GMCabsDriverAssistantSolution.Views"
Title="GMCabsDriverAssistant"
xmlns:vm="clr-namespace:GMCabsDriverAssistant.ViewModels"
x:Class="GMCabsDriverAssistantSolution.AppShell"
FlyoutWidth="220"
Visual="Material">
<!--<Shell.BindingContext>
<vm:AppShellViewModel />
</Shell.BindingContext>-->
<!--
The overall app visual hierarchy is defined here, along with navigation.
https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell/
-->
<Shell.Resources>
<ResourceDictionary>
<Style x:Key="BaseStyle" TargetType="Element">
<Setter Property="Shell.BackgroundColor" Value="{StaticResource Primary}" />
<Setter Property="Shell.ForegroundColor" Value="White" />
<Setter Property="Shell.TitleColor" Value="White" />
<Setter Property="Shell.DisabledColor" Value="#B4FFFFFF" />
<Setter Property="Shell.UnselectedColor" Value="#95FFFFFF" />
<Setter Property="Shell.TabBarBackgroundColor" Value="{StaticResource Primary}" />
<Setter Property="Shell.TabBarForegroundColor" Value="White"/>
<Setter Property="Shell.TabBarUnselectedColor" Value="#95FFFFFF"/>
<Setter Property="Shell.TabBarTitleColor" Value="White"/>
</Style>
<Style TargetType="TabBar" BasedOn="{StaticResource BaseStyle}" x:Key="TabBar" />
<Style TargetType="FlyoutItem" BasedOn="{StaticResource BaseStyle}" x:Key="FlyoutItem"/>
<!--
Default Styles for all Flyout Items
https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell/flyout#flyoutitem-and-menuitem-style-classes
-->
<Style Class="FlyoutItemLabelStyle" TargetType="Label" x:Key="FlyoutItemLabelStyle">
<Setter Property="TextColor" Value="White"></Setter>
</Style>
<Style Class="FlyoutItemLayoutStyle" TargetType="Layout" ApplyToDerivedTypes="True" x:Key="FlyoutItemLayoutStyle">
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="{x:OnPlatform WinUI=Transparent, iOS=White}"/>
<Setter TargetName="FlyoutItemLabel" Property="Label.TextColor" Value="{StaticResource Primary}" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Selected">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="{StaticResource Primary}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
<!--
Custom Style you can apply to any Flyout Item
-->
<Style Class="MenuItemLayoutStyle" TargetType="Layout" ApplyToDerivedTypes="True" x:Key="MenuItemLayoutStyle">
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter TargetName="FlyoutItemLabel" Property="Label.TextColor" Value="{StaticResource Primary}" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
</ResourceDictionary>
</Shell.Resources>
<ShellItem Route="PermissionPage" FlyoutItemIsVisible="False" >
<!--<ShellContent ContentTemplate="{DataTemplate local:PermissionCheckPage}" />-->
</ShellItem>
<ShellItem Route="splashpage" FlyoutItemIsVisible="false" >
<!--<ShellContent ContentTemplate="{DataTemplate local:SplashPage}" />-->
</ShellItem>
<ShellItem Route="LoginPage" FlyoutItemIsVisible="False" >
<ShellContent ContentTemplate="{DataTemplate local:LoginPage}" />
</ShellItem>
<!--
When the Flyout is visible this defines the content to display in the flyout.
FlyoutDisplayOptions="AsMultipleItems" will create a separate flyout item for each child element
https://docs.microsoft.com/dotnet/api/xamarin.forms.shellgroupitem.flyoutdisplayoptions?view=xamarin-forms
-->
<FlyoutItem x:Name="homePageFlyout" IsVisible="{OnIdiom Phone=True,Tablet=False}" Title="Home" Icon="ic_menu_home.png">
<ShellContent Route="HomePage" ContentTemplate="{DataTemplate local:HomePage}"/>
</FlyoutItem>
<!--<FlyoutItem x:Name="homePageTabletFlyout" Shell.FlyoutItemIsVisible="{Binding IsCanViewHome}" Title="Home" Icon="ic_menu_home.png">
<ShellContent Route="HomePageTablet" ContentTemplate="{DataTemplate local:HomePageTablet}"/>
</FlyoutItem>-->
<!--<FlyoutItem Title="Coupons" Icon="ic_menu_end_shift.png">
<ShellContent Route="CouponsPage" ContentTemplate="{DataTemplate local:CouponsPage}" />
</FlyoutItem>-->
<!--<FlyoutItem Title="Rydo" Icon="ic_menu_rydo.png">
<ShellContent Route="AcceptedFutureBookingsPage" ContentTemplate="{DataTemplate local:AcceptedFutureBookingsPage}" />
</FlyoutItem>-->
<!--<FlyoutItem Title="Scan Driving Licence" Icon="ic_outline_document_scanner_black_24.png">
<ShellContent Route="ScanDrivingLicencePage" ContentTemplate="{DataTemplate local:ScanDrivingLicencePage}" />
</FlyoutItem>-->
<!--<FlyoutItem Title="Scan Voucher" Icon="ic_outline_document_scanner_black_24.png">
<ShellContent Route="ScanVoucherPage" ContentTemplate="{DataTemplate local:ScanVoucherPage}" />
</FlyoutItem>-->
<!-- When the Flyout is visible this will be a menu item you can tie a click behavior to -->
<MenuItem Text="Coupons" x:Name="Coupons" StyleClass="MenuItemLayoutStyle" Clicked="Coupons_Clicked" IconImageSource="ic_menu_end_shift.png" Shell.FlyoutItemIsVisible="{Binding IsVisibleCoupons}">
</MenuItem>
<MenuItem Text="Rydo" x:Name="Rydo" Shell.FlyoutItemIsVisible="{Binding IsVisibleRydo}" StyleClass="MenuItemLayoutStyle" Clicked="Rydo_Clicked" IconImageSource="ic_menu_rydo.png">
</MenuItem>
<MenuItem Text="Licence Scan" x:Name="ScanDrivingLicence" Shell.FlyoutItemIsVisible="{Binding IsVisibleDrivingLicenceScan}" StyleClass="MenuItemLayoutStyle" Clicked="ScanDrivingLicence_Clicked" IconImageSource="ic_menu_licence_scan.png">
</MenuItem>
<MenuItem Text="Voucher Scan" x:Name="ScanVoucher" Shell.FlyoutItemIsVisible="{Binding IsVisibleVoucherScan}" StyleClass="MenuItemLayoutStyle" Clicked="ScanVoucher_Clicked" IconImageSource="ic_menu_voucher_scan.png">
</MenuItem>
<MenuItem Text="Settings" x:Name="Settings" StyleClass="MenuItemLayoutStyle" Clicked="Settings_Clicked" IconImageSource="ic_menu_settings.png" Shell.FlyoutItemIsVisible="{Binding IsVisibleSettings}">
</MenuItem>
<!--<MenuItem Text="Job History" x:Name="JobHistory" StyleClass="MenuItemLayoutStyle" Clicked="JobHistory_Clicked" IconImageSource="ic_menu_end_shift.png" Shell.FlyoutItemIsVisible="{Binding IsVisibleJobHistory}">
</MenuItem>-->
<!--<MenuItem Text="My Account" x:Name="MyAccount" StyleClass="MenuItemLayoutStyle" Clicked="MyAccount_Clicked" IconImageSource="ic_menu_settings.png" Shell.FlyoutItemIsVisible="{Binding IsVisibleMyAccount}">
</MenuItem>-->
<!--<MenuItem Text="My Shifts" x:Name="MyShifts" StyleClass="MenuItemLayoutStyle" Clicked="MyShifts_Clicked" IconImageSource="ic_menu_voucher_scan.png" Shell.FlyoutItemIsVisible="{Binding IsVisibleMyShifts}">
</MenuItem>-->
<MenuItem Text="Logout" StyleClass="MenuItemLayoutStyle" Clicked="LogoutClicked">
</MenuItem>
<!--
TabBar lets you define content that won't show up in a flyout menu. When this content is active
the flyout menu won't be available. This is useful for creating areas of the application where
you don't want users to be able to navigate away from. If you would like to navigate to this
content you can do so by calling
await Shell.Current.GoToAsync("//LoginPage");
-->
<TabBar>
<ShellContent Route="LoginPage" ContentTemplate="{DataTemplate local:LoginPage}" />
</TabBar>
<Shell.FlyoutHeaderTemplate>
<DataTemplate>
<Grid ColumnDefinitions="0.3*,0.9*" BackgroundColor="{StaticResource Primary}" HeightRequest="122" Padding="16">
<Image Source="driver.png"
VerticalOptions="End"/>
<StackLayout Grid.Column="1" Orientation="Vertical" VerticalOptions="End" Padding="0" Spacing="0">
<Label Text="{Binding DriverName}" TextColor="White" Margin="0" Padding="0"/>
<Label Text="{Binding DriverMobileNumber}" TextColor="White" FontSize="20" Margin="0" Padding="0"/>
<Label Text="{Binding VersionNumber}" TextColor="White" FontSize="15" Margin="0" Padding="0" />
</StackLayout>
</Grid>
</DataTemplate>
</Shell.FlyoutHeaderTemplate>
<Shell.ItemTemplate>
<DataTemplate>
<Grid ColumnDefinitions="0.2*,0.8*" BackgroundColor="#FFFFFF" Padding="8">
<Image Source="{Binding FlyoutIcon}"
HeightRequest="24"
Aspect="AspectFit"/>
<Label Grid.Column="1"
Text="{Binding Title}"
TextColor="Black"
FontSize="24"
VerticalTextAlignment="Start" />
</Grid>
</DataTemplate>
</Shell.ItemTemplate>
<Shell.MenuItemTemplate>
<DataTemplate>
<Grid ColumnDefinitions="0.2*,0.8*" BackgroundColor="#FFFFFF" Padding="8">
<Image Source="{Binding Icon}"
HeightRequest="24"
WidthRequest="24"
Aspect="AspectFit"/>
<Label Grid.Column="1"
Text="{Binding Text}"
TextColor="Black"
FontSize="24"
VerticalTextAlignment="Start" />
</Grid>
</DataTemplate>
</Shell.MenuItemTemplate>
<Shell.FlyoutFooterTemplate>
<DataTemplate>
<Label BackgroundColor="#FFFFFF"
Text="Privacy Policy"
TextColor="Black"
FontSize="16"
Padding="16"
HorizontalTextAlignment="Center">
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding PrivacyPolicyClickCommand}" />
</Label.GestureRecognizers>
</Label>
</DataTemplate>
</Shell.FlyoutFooterTemplate>
<!-- Optional Templates
// These may be provided inline as below or as separate classes.
// This header appears at the top of the Flyout.
// https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell/flyout#flyout-header
<Shell.FlyoutHeaderTemplate>
<DataTemplate>
<Grid>ContentHere</Grid>
</DataTemplate>
</Shell.FlyoutHeaderTemplate>
// ItemTemplate is for ShellItems as displayed in a Flyout
// https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell/flyout#define-flyoutitem-appearance
<Shell.ItemTemplate>
<DataTemplate>
<ContentView>
Bindable Properties: Title, Icon
</ContentView>
</DataTemplate>
</Shell.ItemTemplate>
// MenuItemTemplate is for MenuItems as displayed in a Flyout
// https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell/flyout#define-menuitem-appearance
<Shell.MenuItemTemplate>
<DataTemplate>
<ContentView>
Bindable Properties: Text, Icon
</ContentView>
</DataTemplate>
</Shell.MenuItemTemplate>
-->
</Shell>

+ 236
- 0
GMCabsDriverAssistantSolution/AppShell.xaml.cs View File

@ -0,0 +1,236 @@
using GMCabsDriverAssistantSolution.Views;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks;
using Microsoft.Maui;
using Microsoft.Maui.Controls;
using GMCabsDriverAssistant.ViewModels;
using GMCabsDriverAssistant.Services;
using GMCabsDriverAssistant.Utils;
using Sentry;
using GMCabsDriverAssistant.Messages;
namespace GMCabsDriverAssistantSolution;
public partial class AppShell : Shell
{
#region Fields
private readonly AppShellViewModel _viewModel;
private string imeiNumber;
private string carNumber;
#endregion
#region Properties
#endregion
#region Constructor
public AppShell()
{
InitializeComponent();
BindingContext = _viewModel = new AppShellViewModel(this);
Task.Run(async () =>
{
//string couponsPermission = await SecureStorageData.GetSecureStorage(SecureStorageData.CanViewCoupons);
//if (string.IsNullOrEmpty(couponsPermission)) { couponsPermission = "false"; }
//string settingsPermission = await SecureStorageData.GetSecureStorage(SecureStorageData.CanViewSettings);
//if (string.IsNullOrEmpty(settingsPermission)) { settingsPermission = "false"; }
//string homePermission = await SecureStorageData.GetSecureStorage(SecureStorageData.CanViewHome);
//if (string.IsNullOrEmpty(homePermission)) { homePermission = "true"; }
//_viewModel.IsVisibleDrivingLicenceScan = Preferences.Get(SecureStorageData.CanUpdateLicence, false);
//_viewModel.IsVisibleVoucherScan = Preferences.Get(SecureStorageData.CanScanVouchers, false);
//_viewModel.IsVisibleRydo = Preferences.Get(SecureStorageData.CanAcceptBookings, false);
//_viewModel.IsVisibleCoupons = Preferences.Get(SecureStorageData.CanViewCoupons, true);
//_viewModel.IsVisibleSettings = Preferences.Get(SecureStorageData.CanViewSettings, true);
//_viewModel.IsCanViewHome = Preferences.Get(SecureStorageData.CanViewHome, false);
//_viewModel.DriverName = Preferences.Get(SecureStorageData.DriverName, "");
//_viewModel.DriverMobileNumber = Preferences.Get("DriverMobileNumber", "");
});
Routing.RegisterRoute(nameof(LoginPage), typeof(LoginPage));
Routing.RegisterRoute(nameof(NewPage1), typeof(NewPage1));
//Routing.RegisterRoute(nameof(HomePage), typeof(HomePage));
Routing.RegisterRoute(nameof(AdminPasswordPage), typeof(AdminPasswordPage));
Routing.RegisterRoute(nameof(TaxiInstallPage), typeof(TaxiInstallPage));
Routing.RegisterRoute(nameof(InstallCompletePage), typeof(InstallCompletePage));
Routing.RegisterRoute(nameof(UserRegistrationGenerateOtpPage), typeof(UserRegistrationGenerateOtpPage));
Routing.RegisterRoute(nameof(UserSignUpPage), typeof(UserSignUpPage));
Routing.RegisterRoute(nameof(UserRegistrationVerifyOtpPage), typeof(UserRegistrationVerifyOtpPage));
Routing.RegisterRoute(nameof(UserRegistrationUpdateDriverPinPage), typeof(UserRegistrationUpdateDriverPinPage));
Routing.RegisterRoute(nameof(CouponsPage), typeof(CouponsPage));
Routing.RegisterRoute(nameof(CouponsV2Page), typeof(CouponsV2Page));
Routing.RegisterRoute(nameof(ScanDrivingLicencePage), typeof(ScanDrivingLicencePage));
Routing.RegisterRoute(nameof(ScanVoucherPage), typeof(ScanVoucherPage));
Routing.RegisterRoute(nameof(SettingsPage), typeof(SettingsPage));
//Routing.RegisterRoute(nameof(BookingsPage), typeof(BookingsPage));
//Routing.RegisterRoute(nameof(BookingDetailsPage), typeof(BookingDetailsPage));
//Routing.RegisterRoute(nameof(AcceptBookingPage), typeof(AcceptBookingPage));
//Routing.RegisterRoute(nameof(CancelledBookingPage), typeof(CancelledBookingPage));
Routing.RegisterRoute(nameof(AcceptedFutureBookingsPage), typeof(AcceptedFutureBookingsPage));
//Routing.RegisterRoute(nameof(AcceptedFutureBookingDetailPage), typeof(AcceptedFutureBookingDetailPage));
//Routing.RegisterRoute(nameof(VoucherScanHistory), typeof(VoucherScanHistory));
//Routing.RegisterRoute(nameof(BookingDetailsTabletPage), typeof(BookingDetailsTabletPage));
//Routing.RegisterRoute(nameof(OnTripTabletPage), typeof(OnTripTabletPage));
//Routing.RegisterRoute(nameof(BookingOnWayTabletPage), typeof(BookingOnWayTabletPage));
//Routing.RegisterRoute(nameof(PassgerCollectedPage), typeof(PassgerCollectedPage));
//Routing.RegisterRoute(nameof(PassengerDroppedWithNoPaymentMethodIdNoFixedFareTablet), typeof(PassengerDroppedWithNoPaymentMethodIdNoFixedFareTablet));
//Routing.RegisterRoute(nameof(PassengerDroppedWithNoPaymentMethodIdAndFixedFareTablet), typeof(PassengerDroppedWithNoPaymentMethodIdAndFixedFareTablet));
//Routing.RegisterRoute(nameof(PassengerDroppedWithPaymentMethodIdAndFixedFareTablet), typeof(PassengerDroppedWithPaymentMethodIdAndFixedFareTablet));
//Routing.RegisterRoute(nameof(PassengerDroppedWithPaymentMethodIdNoFixedFareTablet), typeof(PassengerDroppedWithPaymentMethodIdNoFixedFareTablet));
//Routing.RegisterRoute(nameof(BookingCompletedTabletPage), typeof(BookingCompletedTabletPage));
//Routing.RegisterRoute(nameof(NavigateToHomePageTablet), typeof(NavigateToHomePageTablet));
//Routing.RegisterRoute(nameof(CancelledBookingTabletPage), typeof(CancelledBookingTabletPage));
Routing.RegisterRoute(nameof(ImeiNumberInstallPage), typeof(ImeiNumberInstallPage));
//Routing.RegisterRoute(nameof(JobHistoryTabletPage), typeof(JobHistoryTabletPage));
//Routing.RegisterRoute(nameof(MyAccountTabletPage), typeof(MyAccountTabletPage));
//Routing.RegisterRoute(nameof(MyShiftsTabletPage), typeof(MyShiftsTabletPage));
//Routing.RegisterRoute(nameof(AcceptedFutureBookingsTabletPage), typeof(AcceptedFutureBookingsTabletPage));
//Routing.RegisterRoute(nameof(AcceptedFutureBookingTabletDetailPage), typeof(AcceptedFutureBookingTabletDetailPage));
//if (!Preferences.ContainsKey(Constants.VoucherScanUseFrontCamera))
//{
// Preferences.Set(Constants.VoucherScanUseFrontCamera, true);
//}
imeiNumber = Preferences.Get("imeiNumber", null);
carNumber = Preferences.Get("carNumber", null);
var isTablet = Preferences.Get("IsTablet", false);
//homePageTabletFlyout.IsVisible = true;
//homePageFlyout.IsVisible = true;
if (isTablet && !string.IsNullOrWhiteSpace(imeiNumber) && !string.IsNullOrWhiteSpace(carNumber))
{
ICollection<ResourceDictionary> collection = Application.Current.Resources.MergedDictionaries;
if (collection != null)
{
collection.Clear();
//collection.Add(new TabletLayoutStyle());
}
}
//if (Device.RuntimePlatform == Device.Android && isTablet && !string.IsNullOrWhiteSpace(imeiNumber) && !string.IsNullOrWhiteSpace(carNumber))
//{
// homePageTabletFlyout.IsVisible = true;
// homePageFlyout.IsVisible = false;
// _viewModel.IsVisibleCoupons = false;
// _viewModel.IsVisibleSettings = false;
// _viewModel.IsCanViewHome = false;
// _viewModel.IsVisibleJobHistory = true;
// _viewModel.IsVisibleRydo = true;
// _viewModel.IsVisibleMyShifts = true;
// _viewModel.IsVisibleMyAccount = true;
//}
//else
//{
// _viewModel.IsVisibleCoupons = true;
// _viewModel.IsVisibleSettings = true;
// homePageTabletFlyout.IsVisible = false;
// homePageFlyout.IsVisible = true;
// _viewModel.IsVisibleJobHistory = false;
// _viewModel.IsVisibleMyShifts = false;
// _viewModel.IsVisibleMyAccount = false;
//}
}
#endregion
#region Methods
[Obsolete]
private async void LogoutClicked(object sender, EventArgs e)
{
DispatchAppComponentService.SetToInitialProperties();
var imeiNumber = Preferences.Get("imeiNumber", null);
var carNumber = Preferences.Get("carNumber", null);
var isTablet = Preferences.Get("IsTablet", false);
//if (!isTablet && Device.RuntimePlatform != Device.iOS)
//{
// Preferences.Set("isForeground", "NO");
// DependencyService.Resolve<IForegroundService>().StopMyForegroundService();
//}
//else if (Device.RuntimePlatform == Device.iOS)
//{
// var message = new StopServiceMessage();
// MessagingCenter.Send(message, "ServiceStopped");
//}
var token = Preferences.Get(SecureStorageData.Token, "");
Debug.WriteLine("TOKEN-------------", token);
var lastLatitude = Convert.ToDouble(Preferences.Get("lastLat", "0"));
var lastLongitude = Convert.ToDouble(Preferences.Get("lastLng", "0"));
GMCabsDriverService gmCabsDriverService = new GMCabsDriverService();
await gmCabsDriverService.LogoutDriverApp(token, lastLatitude, lastLongitude);
SecureStorage.RemoveAll();
Preferences.Clear();
Preferences.Set(SecureStorageData.Token, token);
if (!string.IsNullOrWhiteSpace(imeiNumber))
{
Preferences.Set("imeiNumber", imeiNumber);
}
if (!string.IsNullOrWhiteSpace(carNumber))
{
Preferences.Set("carNumber", carNumber);
}
Preferences.Set("IsTablet", isTablet);
SentrySdk.ConfigureScope(scope =>
{
scope.User = null;
});
await Current.GoToAsync($"//{nameof(LoginPage)}");
}
private async void Coupons_Clicked(object sender, EventArgs e)
{
//await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(CouponsPage)}");
await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(CouponsV2Page)}");
}
private async void Rydo_Clicked(object sender, EventArgs e)
{
//if (!string.IsNullOrEmpty(imeiNumber) && !string.IsNullOrEmpty(carNumber))
//{
// await Current.GoToAsync($"//{nameof(HomePageTablet)}/{nameof(AcceptedFutureBookingsTabletPage)}");
//}
//else
//{
await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(AcceptedFutureBookingsPage)}");
//}
}
private async void ScanDrivingLicence_Clicked(object sender, EventArgs e)
{
await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(ScanDrivingLicencePage)}");
}
private async void ScanVoucher_Clicked(object sender, EventArgs e)
{
await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(ScanVoucherPage)}");
}
private async void Settings_Clicked(object sender, EventArgs e)
{
await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(SettingsPage)}");
}
//private async void JobHistory_Clicked(object sender, EventArgs e)
//{
// await Current.GoToAsync($"//{nameof(HomePageTablet)}/{nameof(JobHistoryTabletPage)}");
//}
//private async void MyAccount_Clicked(object sender, EventArgs e)
//{
// if (!string.IsNullOrEmpty(imeiNumber) && !string.IsNullOrEmpty(carNumber))
// {
// await Current.GoToAsync($"//{nameof(HomePageTablet)}/{nameof(MyAccountTabletPage)}");
// }
// else
// {
// await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(MyAccountTabletPage)}");
// }
//}
//private async void MyShifts_Clicked(object sender, EventArgs e)
//{
// if (!string.IsNullOrEmpty(imeiNumber) && !string.IsNullOrEmpty(carNumber))
// {
// await Current.GoToAsync($"//{nameof(HomePageTablet)}/{nameof(MyShiftsTabletPage)}");
// }
// else
// {
// await Current.GoToAsync($"//{nameof(HomePage)}/{nameof(MyShiftsTabletPage)}");
// }
//}
#endregion
}

+ 18
- 0
GMCabsDriverAssistantSolution/Constants.Debug.cs View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant
{
partial class Constants
{
//public const string BASE_URL = "http://devapi.insightpayments.com/api";
//public const string BASE_URL_RYDO_API = "http://driverapidev.insightpayments.com";
public const string BASE_URL = "http://3.6.215.207:8091/api";
public const string BASE_URL_RYDO_API = "http://3.6.215.207:8094";
//public const string BASE_URL = "https://api.insightpayments.com/api";
//public const string BASE_URL_RYDO_API = "https://drivers.rydo.com.au/";
}
}

+ 11
- 0
GMCabsDriverAssistantSolution/Constants.cs View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant
{
partial class Constants
{
public const string VoucherScanUseFrontCamera = "VoucherScanUseFrontCamera";
}
}

+ 6
- 0
GMCabsDriverAssistantSolution/CustomControls/NoUnderlineEntry.cs View File

@ -0,0 +1,6 @@
namespace GMCabsDriverAssistantSolution.CustomControls
{
public class NoUnderlineEntry : Entry
{
}
}

+ 26
- 0
GMCabsDriverAssistantSolution/CustomControls/OtpEntry.cs View File

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GMCabsDriverAssistantSolution.CustomControls
{
public class OtpEntry : Entry
{
public delegate void BackspaceEventHandler(object sender, EventArgs e);
public event BackspaceEventHandler OnBackspace;
public OtpEntry() { }
public void OnBackspacePressed()
{
if (OnBackspace != null)
{
OnBackspace(null, null);
}
}
}
}

+ 11
- 0
GMCabsDriverAssistantSolution/Enums/BookingNextAction.cs View File

@ -0,0 +1,11 @@
namespace GMCabsDriverAssistant.Enums
{
public enum BookingNextAction
{
None,
NoAction,
ChangeServiceType,
OfferTip,
WaitLonger
}
}

+ 18
- 0
GMCabsDriverAssistantSolution/Enums/BookingStatus.cs View File

@ -0,0 +1,18 @@
namespace GMCabsDriverAssistant.Enums
{
public enum BookingStatus
{
None,
Scheduled,
Processing,
NoDriverAvailable,
UserCancelled,
AdminCancelled,
Accepted,
PassengerCollected,
DriverCancelled,
CustomerNoShow,
Completed,
SystemCancelled
}
}

+ 13
- 0
GMCabsDriverAssistantSolution/Enums/BookingType.cs View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Enums
{
public enum BookingType
{
None,
Public,
Corporate
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Enums/FareType.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Enums
{
public enum FareType
{
Fixed = 1,
Meter = 2
}
}

+ 9
- 0
GMCabsDriverAssistantSolution/Enums/PaymentType.cs View File

@ -0,0 +1,9 @@
namespace GMCabsDriverAssistant.Enums
{
public enum PaymentType
{
None,
DirectToDriver,
Account
}
}

+ 15
- 0
GMCabsDriverAssistantSolution/Enums/ServiceType.cs View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Enums
{
public enum ServiceType
{
None,
Taxi,
HireCar,
FixedPrice,
MyDriver
}
}

+ 11
- 0
GMCabsDriverAssistantSolution/Enums/TaxiType.cs View File

@ -0,0 +1,11 @@
namespace GMCabsDriverAssistant.Enums
{
public enum TaxiType
{
None,
Standard,
MaxiTaxi,
StationWagon,
LondonCabs
}
}

+ 184
- 0
GMCabsDriverAssistantSolution/GMCabsDriverAssistantSolution.csproj View File

@ -0,0 +1,184 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
<!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->
<OutputType>Exe</OutputType>
<RootNamespace>GMCabsDriverAssistantSolution</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Display name -->
<ApplicationTitle>GMCabsDriverAssistantSolution</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>au.com.gmcabs.driverassistant</ApplicationId>
<ApplicationIdGuid>6D8C0974-C903-452F-98F8-07E76D498921</ApplicationIdGuid>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">14.2</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">14.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<!-- App Icon -->
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />
<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />
<!-- Images -->
<MauiImage Include="Resources\Images\*" />
<!-- Custom Fonts -->
<MauiFont Include="Resources\Fonts\*" />
<!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Remove="Platforms\Android\google-services.json" />
<None Remove="Resources\Images\adminlock.png" />
<None Remove="Resources\Images\avail_button.png" />
<None Remove="Resources\Images\backSpace.png" />
<None Remove="Resources\Images\back_arrow.png" />
<None Remove="Resources\Images\barcode.png" />
<None Remove="Resources\Images\baseline_home_black_24dp.png" />
<None Remove="Resources\Images\busy_button.png" />
<None Remove="Resources\Images\card_cash.png" />
<None Remove="Resources\Images\clock.png" />
<None Remove="Resources\Images\cut_out_stars.png" />
<None Remove="Resources\Images\driver.png" />
<None Remove="Resources\Images\gmlogo.png" />
<None Remove="Resources\Images\gmlogo_tablet.png" />
<None Remove="Resources\Images\google_map.png" />
<None Remove="Resources\Images\green_pin.png" />
<None Remove="Resources\Images\grey_pin.png" />
<None Remove="Resources\Images\home.png" />
<None Remove="Resources\Images\icon_about.png" />
<None Remove="Resources\Images\icon_feed.png" />
<None Remove="Resources\Images\ic_menu_blank.png" />
<None Remove="Resources\Images\ic_menu_end_shift.png" />
<None Remove="Resources\Images\ic_menu_home.png" />
<None Remove="Resources\Images\ic_menu_licence_scan.png" />
<None Remove="Resources\Images\ic_menu_rydo.png" />
<None Remove="Resources\Images\ic_menu_settings.png" />
<None Remove="Resources\Images\ic_menu_voucher_scan.png" />
<None Remove="Resources\Images\ic_outline_document_scanner_black_24.png" />
<None Remove="Resources\Images\ic_stat_ic_notification.png" />
<None Remove="Resources\Images\ImportantIconSmall.png" />
<None Remove="Resources\Images\key_pad_image.png" />
<None Remove="Resources\Images\menu.png" />
<None Remove="Resources\Images\message.png" />
<None Remove="Resources\Images\next_arrow.png" />
<None Remove="Resources\Images\paid.png" />
<None Remove="Resources\Images\passenger.png" />
<None Remove="Resources\Images\phone_image.png" />
<None Remove="Resources\Images\red_pin.png" />
<None Remove="Resources\Images\rightdoc.png" />
<None Remove="Resources\Images\righttic.png" />
<None Remove="Resources\Images\scanned.png" />
<None Remove="Resources\Images\setting_alert.png" />
<None Remove="Resources\Images\support.png" />
<None Remove="Resources\Images\sync.png" />
<None Remove="Resources\Images\user.png" />
<None Remove="Resources\Images\waze.png" />
<None Remove="Resources\Images\wrongdoc.png" />
<None Remove="Resources\Images\xamarin_logo.png" />
</ItemGroup>
<ItemGroup>
<GoogleServicesJson Include="Platforms\Android\google-services.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.0-preview2" />
<PackageReference Include="Plugin.FirebasePushNotification" Version="3.4.35" />
<PackageReference Include="Sentry" Version="3.30.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
</ItemGroup>
<ItemGroup>
<MauiXaml Update="Styles\PhoneLayoutStyle.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\AcceptedFutureBookingsPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\AdminPasswordPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\CouponHistoryPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\CouponsPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\CouponsV2Page.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\HomePage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\ImeiNumberInstallPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\InstallCompletePage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\LoginPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\NewPage1.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\ScanDrivingLicencePage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\ScanVoucherPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\SettingsPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\SplashPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\TaxiInstallPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\UserRegistrationGenerateOtpPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\UserRegistrationUpdateDriverPinPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\UserRegistrationVerifyOtpPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
<MauiXaml Update="Views\UserSignUpPage.xaml">
<Generator>MSBuild:Compile</Generator>
</MauiXaml>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-android'">
<PackageReference Include="Xamarin.Firebase.Messaging">
<Version>123.1.1.1</Version>
</PackageReference>
<PackageReference Include="Xamarin.Google.Dagger">
<Version>2.44.2.1</Version>
</PackageReference>
</ItemGroup>
</Project>

+ 12
- 0
GMCabsDriverAssistantSolution/ILocationConsent.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace GMCabsDriverAssistant
{
public interface ILocationConsent
{
Task GetLocationConsent();
}
}

+ 41
- 0
GMCabsDriverAssistantSolution/MainPage.xaml View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="GMCabsDriverAssistantSolution.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Image
Source="dotnet_bot.png"
SemanticProperties.Description="Cute dot net bot waving hi to you!"
HeightRequest="200"
HorizontalOptions="Center" />
<Label
Text="Hello, World!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to dot net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Button
x:Name="CounterBtn"
Text="Click me"
SemanticProperties.Hint="Counts the number of times you click"
Clicked="OnCounterClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>

+ 24
- 0
GMCabsDriverAssistantSolution/MainPage.xaml.cs View File

@ -0,0 +1,24 @@
namespace GMCabsDriverAssistantSolution;
public partial class MainPage : ContentPage
{
int count = 0;
public MainPage()
{
InitializeComponent();
}
private void OnCounterClicked(object sender, EventArgs e)
{
count++;
if (count == 1)
CounterBtn.Text = $"Clicked {count} time";
else
CounterBtn.Text = $"Clicked {count} times";
SemanticScreenReader.Announce(CounterBtn.Text);
}
}

+ 18
- 0
GMCabsDriverAssistantSolution/MauiProgram.cs View File

@ -0,0 +1,18 @@
namespace GMCabsDriverAssistantSolution;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
return builder.Build();
}
}

+ 10
- 0
GMCabsDriverAssistantSolution/Messages/LocationErrorMessage.cs View File

@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Messages
{
public class LocationErrorMessage
{
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Messages/LocationMessage.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Messages
{
public class LocationMessage
{
public double Latitude { get; set; }
public double Longitude { get; set; }
}
}

+ 10
- 0
GMCabsDriverAssistantSolution/Messages/StartServiceMessage.cs View File

@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Messages
{
public class StartServiceMessage
{
}
}

+ 10
- 0
GMCabsDriverAssistantSolution/Messages/StopServiceMessage.cs View File

@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Messages
{
public class StopServiceMessage
{
}
}

+ 14
- 0
GMCabsDriverAssistantSolution/Models/AcceptBookingTimerDto.cs View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class AcceptBookingTimerDto
{
public int PendingSeconds { get; set; }
public string PickUPAddress { get; set; }
public string DropUpAddress { get; set; }
public bool IsFutureBooking { get; set; }
}
}

+ 11
- 0
GMCabsDriverAssistantSolution/Models/AccountBalanceDto.cs View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class AccountBalanceDto
{
public decimal LevyBalance { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/ApiResponseDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class ApiResponseDto
{
public int StatusCode { get; set; }
public string Message { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/AvailableBooking.cs View File

@ -0,0 +1,12 @@
using SQLite;
namespace GMCabsDriverAssistant.Models
{
public class AvailableBooking
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string BookingID { get; set; }
}
}

+ 19
- 0
GMCabsDriverAssistantSolution/Models/AvailablePlotRequestDto.cs View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class AvailablePlotRequestDto
{
[JsonPropertyName("DriverID")]
public Guid DriverID { get; set; }
[JsonPropertyName("Latitude")]
public double? Latitude { get; set; }
[JsonPropertyName("Longitude")]
public double? Longitude { get; set; }
}
}

+ 20
- 0
GMCabsDriverAssistantSolution/Models/AvailablePlotResponseDto.cs View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class AvailablePlotResponseDto
{
[JsonPropertyName("PlotName")]
public string PlotName { get; set; }
[JsonPropertyName("PlotPosition")]
public int PlotPosition { get; set; }
[JsonPropertyName("PlotExpiryTime")]
public int PlotExpiryTime { get; set; }
public ApiResponseDto apiResponseDto { get; set; }
}
}

+ 254
- 0
GMCabsDriverAssistantSolution/Models/BookingDto.cs View File

@ -0,0 +1,254 @@
using GMCabsDriverAssistant.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class BookingDto
{
[JsonPropertyName("booking_id")]
public Guid BookingId { get; set; }
[JsonPropertyName("discount")]
public decimal Discount { get; set; }
[JsonPropertyName("start_address")]
public string StartAddress { get; set; }
[JsonPropertyName("start_suburb")]
public string StartSuburb { get; set; }
[JsonPropertyName("end_address")]
public string EndAddress { get; set; }
[JsonPropertyName("end_suburb")]
public string EndSuburb { get; set; }
[JsonPropertyName("future_booking")]
public bool FutureBooking { get; set; }
[JsonPropertyName("next_available")]
public bool NextAvailable { get; set; }
[JsonPropertyName("notes")]
public string Notes { get; set; }
[JsonPropertyName("taxi_type_id")]
public int? TaxiTypeId { get; set; }
[JsonPropertyName("fixed_amount")]
public int? FixedAmount { get; set; }
[JsonPropertyName("min_fare_amount")]
public int? MinFareAmount { get; set; }
[JsonPropertyName("provider_charge_fixed_fare")]
public int? ProviderChargeFixedFare { get; set; }
[JsonPropertyName("provider_charge_meter_fare")]
public int? ProviderChargeMeterFare { get; set; }
[JsonPropertyName("provider_charge_fixed_fare_preferred")]
public int? ProviderChargeFixedFarePreferred { get; set; }
[JsonPropertyName("provider_charge_meter_fare_preferred")]
public int? ProviderChargeMeterFarePreferred { get; set; }
[JsonPropertyName("pre_tip")]
public int? PreTip { get; set; }
[JsonPropertyName("start_time_local")]
public int StartTimeLocal { get; set; }
[JsonPropertyName("start_time_utc")]
public int StartTimeUtc { get; set; }
[JsonPropertyName("luggage_count")]
public int LuggageCount { get; set; }
[JsonPropertyName("passenger_count")]
public int PassengerCount { get; set; }
[JsonPropertyName("service_type_id")]
public int ServiceTypeId { get; set; }
[JsonPropertyName("passenger_phone_number")]
public string PassengerPhoneNumber { get; set; }
[JsonPropertyName("passenger_name")]
public string PassengerName { get; set; }
[JsonPropertyName("voucher_amount")]
public decimal VoucherAmount { get; set; }
[JsonPropertyName("latitude")]
public double Latitude { get; set; }
[JsonPropertyName("longitude")]
public double Longitude { get; set; }
[JsonPropertyName("distance")]
public float Distance { get; set; }
public string FormattedDistance
{
get => (Distance >= 1000) ? $"{Distance / 1000:0.##}k" : $"{(int)Distance}m";
}
[JsonPropertyName("estimate_fare")]
public decimal EstimateFare { get; set; }
[JsonPropertyName("is_corporate")]
public bool IsCorporate { get; set; }
[JsonPropertyName("in_hail")]
public bool InHail { get; set; }
[JsonPropertyName("payment_method_id")]
public Guid? PaymentMethodId { get; set; }
[JsonPropertyName("payment_method_verified")]
public bool? PaymentMethodVerified { get; set; }
[JsonPropertyName("rydo_stars")]
public int RydoStars { get; set; }
[JsonPropertyName("priority_driver")]
public bool PriorityDriver { get; set; }
[JsonPropertyName("end_latitude")]
public double EndLatitude { get; set; }
[JsonPropertyName("end_longitude")]
public double EndLongitude { get; set; }
[JsonPropertyName("start_latitude")]
public double StartLatitude { get; set; }
[JsonPropertyName("start_longitude")]
public double StartLongitude { get; set; }
[JsonPropertyName("payment_type")]
public PaymentType PaymentType { get; set; }
[JsonPropertyName("booking_type")]
public BookingType BookingType { get; set; }
[JsonPropertyName("pickup_time")]
public int PickupTime { get; set; }
[JsonPropertyName("fare_type")]
public FareType FareType { get; set; }
[JsonPropertyName("status_id")]
public int StatusId { get; set; }
[JsonPropertyName("status_code")]
public string StatusCode { get; set; }
[JsonPropertyName("delivered")]
public bool Delivered { get; set; }
[JsonPropertyName("ride_id")]
public Guid? RideId { get; set; }
[JsonPropertyName("fare_amount")]
public int? FareAmount { get; set; }
[JsonPropertyName("end_state")]
public string EndState { get; set; }
[JsonPropertyName("service_id")]
public int ServiceId { get; set; }
[JsonPropertyName("start_state")]
public string StartState { get; set; }
[JsonPropertyName("journey_distance")]
public int JourneyDistance { get; set; }
[JsonPropertyName("reward_points")]
public int RewardPoints { get; set; }
[JsonPropertyName("booking_fee")]
public double BookingFee { get; set; }
[JsonPropertyName("booking_fee_waived")]
public bool BookingFeeWaived { get; set; }
[JsonPropertyName("tip")]
public int? Tip { get; set; }
[JsonPropertyName("driver_number_plate")]
public string DriverNumberPlate { get; set; }
[JsonPropertyName("estimated_arrival_time")]
public int EstimatedArrivalTime { get; set; }
[JsonPropertyName("voucher_id")]
public string VoucherId { get; set; }
[JsonPropertyName("promotion_id")]
public string PromotionId { get; set; }
[JsonPropertyName("stored_cards_available")]
public bool StoredCardsAvailable { get; set; }
[JsonPropertyName("current_stop_number")]
public int? CurrentStopNumber { get; set; }
[JsonPropertyName("stopover_locations")]
public IEnumerable<StopoverLocation> StopoverLocations { get; set; }
public string FormattedPickUpTimeDateOnly
{
get
{
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dateTime = dateTime.AddSeconds(PickupTime).ToLocalTime();
return dateTime.ToString("dd/MM/yyyy");
}
}
public string FormattedPickUpTimeTimeOnly
{
get
{
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dateTime = dateTime.AddSeconds(PickupTime).ToLocalTime();
return dateTime.ToString("HH:mm ttt");
}
}
public string FormmattedPickUpDateTime
{
get
{
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
dateTime = dateTime.AddSeconds(PickupTime).ToLocalTime();
return dateTime.ToString("dd/MM/yyyy HH:mm:ss");
}
}
public bool IsSeenBooking { get; set; }
}
public class StopoverLocation
{
[JsonPropertyName("latitude")]
public decimal Latitude { get; set; }
[JsonPropertyName("longitude")]
public decimal Longitude { get; set; }
[JsonPropertyName("address")]
public string Address { get; set; }
[JsonPropertyName("stop_number")]
public decimal StopNumber { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/CancelledBookingResponseDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class CancelledBookingResponseDto
{
public string PickUPAddress { get; set; }
public string DropUpAddress { get; set; }
}
}

+ 15
- 0
GMCabsDriverAssistantSolution/Models/ContactCustomerDto.cs View File

@ -0,0 +1,15 @@
using GMCabsDriverAssistant.Models.Rydo;
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class ContactCustomerDto
{
public string PassengerName { get; set; }
public string PassengerPhoneNumber { get; set; }
public Guid BookingId { get; set; }
public MessageRequest messageRequest { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/Coupon.cs View File

@ -0,0 +1,12 @@
namespace GMCabsDriverAssistant.Models
{
public class Coupon
{
public int Id { get; set; }
public string IssueDate { get; set; }
public string IssueLocation { get; set; }
public string ExpiryDate { get; set; }
public string Amount { get; set; }
public string QrCodeData { get; set; }
}
}

+ 18
- 0
GMCabsDriverAssistantSolution/Models/CouponDto.cs View File

@ -0,0 +1,18 @@
using System;
using Microsoft.Maui;
using Microsoft.Maui.Controls;
namespace GMCabsDriverAssistant.Models
{
public class CouponDto
{
public string Id { get; set; }
public string QrCodeBase64 { get; set; }
public ImageSource Image { get; set; }
public float Amount { get; set; }
public DateTime IssuedDate { get; set; }
public DateTime ExpiryDate { get; set; }
public string Status { get; set; }
public int IssuedLocationID { get; set; }
}
}

+ 19
- 0
GMCabsDriverAssistantSolution/Models/CouponHistoryDto.cs View File

@ -0,0 +1,19 @@
using System;
namespace GMCabsDriverAssistant.Models
{
public class CouponHistoryDto
{
public string Id { get; set; }
public string QrCodeBase64 { get; set; }
public float Amount { get; set; }
public DateTime IssuedDate { get; set; }
public DateTime? RedeemedDate { get; set; }
public DateTime ExpiryDate { get; set; }
public string CouponBackgroundColor { get; set; }
public string CouponText { get; set; }
public string IssuedLocation { get; set; }
public string RedeemedLocation { get; set; }
public bool isRedemed { get; set; }
}
}

+ 16
- 0
GMCabsDriverAssistantSolution/Models/CreateLightDriverRequest.cs View File

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class CreateLightDriverRequest
{
public string DriverLicence { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public string MobileNumber { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/DriverAppSelectedPermissionsDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class DriverAppSelectedPermissionsDto
{
public bool LocationSetToAlways { get; set; }
public bool BatteryOptimisationDisabled { get; set; }
}
}

+ 31
- 0
GMCabsDriverAssistantSolution/Models/DriverRatingResponse.cs View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class DriverRatingResponse
{
[JsonPropertyName("id")]
public Guid Id { get; set; }
[JsonPropertyName("referral_code")]
public string ReferralCode { get; set; }
[JsonPropertyName("rating")]
public int Rating { get; set; }
[JsonPropertyName("first_name")]
public string FirstName { get; set; }
[JsonPropertyName("last_name")]
public string LastName { get; set; }
[JsonPropertyName("phone_number")]
public string PhoneNumber { get; set; }
[JsonPropertyName("driver_authority")]
public string DriverAuthority { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/ImeiDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class ImeiDto
{
public string ImeiNumber { get; set; }
public string CarNumber { get; set; }
}
}

+ 19
- 0
GMCabsDriverAssistantSolution/Models/LocationUpdateRequestDto.cs View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class LocationUpdateRequestDto
{
[JsonPropertyName("latitude")]
public double Latitude { get; set; }
[JsonPropertyName("longitude")]
public double Longitude { get; set; }
[JsonPropertyName("imei")]
public string Imei { get; set; }
}
}

+ 14
- 0
GMCabsDriverAssistantSolution/Models/LocationVoucherDto.cs View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class LocationVoucherDto
{
public int LoationID { get; set; }
public string VoucherReemText { get; set; }
public string VoucherFooterText { get; set; }
public string VoucherOfferText { get; set; }
}
}

+ 26
- 0
GMCabsDriverAssistantSolution/Models/LoginRequestDto.cs View File

@ -0,0 +1,26 @@
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class LoginRequestDto
{
[JsonPropertyName("mobileNumber")]
public string MobileNumber { get; set; }
[JsonPropertyName("pin")]
public string Pin { get; set; }
[JsonPropertyName("latitude")]
public double? Latitude { get; set; }
[JsonPropertyName("longitude")]
public double? Longitude { get; set; }
[JsonPropertyName("fcmToken")]
public string FCMToken { get; set; }
[JsonPropertyName("imei")]
public string Imei { get; set; }
public bool IsTabletSession { get; set; }
}
}

+ 38
- 0
GMCabsDriverAssistantSolution/Models/LoginResponseDto.cs View File

@ -0,0 +1,38 @@
using System;
using System.Net;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class LoginResponseDto
{
#region Properties
public Guid Token { get; set; }
public string DriverName { get; set; }
public string DriverMobileNumber { get; set; }
public Guid UserCode { get; set; }
public bool CanAcceptBookings { get; set; }
public bool CanUpdateLicence { get; set; }
public bool CanScanVouchers { get; set; }
public string InstalledTaxiNumber { get; set; } = null;
public bool CanViewCoupons { get; set; }
public bool CanViewSettings { get; set; }
public bool CanViewHome { get; set; }
public bool CanViewJobHistory { get; set; }
public bool IsTabletSession { get; set; }
public string LoginResponseMessage { get; set; }
public int UserId { get; set; }
#endregion
#region Constants
public const string DRIVER_NAME = nameof(DriverName);
public const string DRIVER_MOBILE_NUMBER = nameof(DriverMobileNumber);
public const string USER_CODE = nameof(UserCode);
#endregion
}
}

+ 13
- 0
GMCabsDriverAssistantSolution/Models/MeterTrip.cs View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class MeterTrip
{
public string StartSuburb { get; set; }
public string PickUpDateTime { get; set; }
public int TimerSeconds { get; set; }
}
}

+ 17
- 0
GMCabsDriverAssistantSolution/Models/NotificationDto.cs View File

@ -0,0 +1,17 @@
using System;
namespace GMCabsDriverAssistant.Models
{
public class NotificationDto
{
public string Id { get; set; }
public int UserID { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public string FromName { get; set; }
public DateTime SentDate { get; set; }
public DateTime? ReceivedDate { get; set; }
public DateTime? DateViewed { get; set; }
public bool Important { get; set; }
}
}

+ 50
- 0
GMCabsDriverAssistantSolution/Models/PlotResponseDto.cs View File

@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class PlotResponseDto
{
[JsonPropertyName("ID")]
public Guid ID { get; set; }
[JsonPropertyName("ZoneID")]
public Guid ZoneID { get; set; }
[JsonPropertyName("Name")]
public string Name { get; set; }
[JsonPropertyName("Latitude")]
public double? Latitude { get; set; }
[JsonPropertyName("Longitude")]
public double? Longitude { get; set; }
[JsonPropertyName("Radius")]
public decimal? Radius { get; set; }
[JsonPropertyName("Available")]
public bool Available { get; set; }
[JsonPropertyName("Distance")]
public int Distance { get; set; }
[JsonPropertyName("PlotExpiryTime")]
public int PlotExpiryTime { get; set; }
[JsonPropertyName("DriverDistance")]
public int? DriverDistance { get; set; }
[JsonPropertyName("Position")]
public int Position { get; set; }
public string OtherAvailablePlotAreas
{
get
{
return (Distance>=1000)? Name + "(" + Distance/1000 + "k)" : Name + "(" + Distance + "m)";
}
}
}
}

+ 21
- 0
GMCabsDriverAssistantSolution/Models/RecentScannedCouponDto.cs View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Maui;
using Microsoft.Maui.Controls;
namespace GMCabsDriverAssistant.Models
{
public class RecentScannedCouponDto
{
public string Status { get; set; }
public DateTime ScannedTime { get; set; }
public string CouponBackgroundColor { get; set; }
public string CouponTextColor { get; set; }
public ImageSource Image { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/ReleaseBookingDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class ReleaseBookingDto
{
public Guid BookingId { get; set; }
public string ReleaseReason { get; set; }
}
}

+ 20
- 0
GMCabsDriverAssistantSolution/Models/ResetDriverPinResponse.cs View File

@ -0,0 +1,20 @@
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Services
{
public class ResetDriverPinResponse
{
[JsonPropertyName("type")]
public string Type { get; set; }
[JsonPropertyName("title")]
public string Title { get; set; }
[JsonPropertyName("status")]
public int Status { get; set; }
[JsonPropertyName("traceId")]
public string TraceId { get; set; }
}
}

+ 28
- 0
GMCabsDriverAssistantSolution/Models/Rydo/AcceptDeclineBookingRequest.cs View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace GMCabsDriverAssistantSolution.Models.Rydo
{
public class AcceptDeclineBookingRequest
{
#region Properties
[JsonPropertyName("driver_id")]
public Guid DriverId { get; set; }
[JsonPropertyName("driver_latitude")]
public double DriverLatitude { get; set; }
[JsonPropertyName("driver_longitude")]
public double DriverLongitude { get; set; }
[JsonPropertyName("driver_source")]
public int DriverSource { get; set; }
#endregion
}
}

+ 37
- 0
GMCabsDriverAssistantSolution/Models/Rydo/AcceptDeclineBookingResponse.cs View File

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace GMCabsDriverAssistantSolution.Models.Rydo
{
public class AcceptDeclineBookingResponse
{
public int StatusCode { get; set; }
public string Message { get; set; }
[JsonPropertyName("future_booking")]
public bool FutureBooking { get; set; }
[JsonPropertyName("payment_method_id")]
public Guid? PaymentMethodId { get; set; }
[JsonPropertyName("passenger_name")]
public string PassengerName { get; set; }
[JsonPropertyName("pickup_time")]
public long? PickupTime { get; set; }
[JsonPropertyName("is_corporate")]
public bool IsCorporate { get; set; }
public string PickUpAddress { get; set; }
[JsonPropertyName("booking_id")]
public Guid BookingId { get; set; }
[JsonPropertyName("passenger_phone_number")]
public string PassengerPhoneNumber { get; set; }
}
}

+ 20
- 0
GMCabsDriverAssistantSolution/Models/Rydo/EftposLoginRequest.cs View File

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace GMCabsDriverAssistantSolution.Models.Rydo
{
public class EftposLoginRequest
{
#region Properties
[JsonPropertyName("driver_id")]
public Guid DriverId { get; set; }
[JsonPropertyName("mobile_number")]
public string MobileNumber { get; set; }
#endregion
}
}

+ 28
- 0
GMCabsDriverAssistantSolution/Models/Rydo/EftposLoginResponse.cs View File

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace GMCabsDriverAssistantSolution.Models.Rydo
{
public class EftposLoginResponse
{
#region Constants
public const string RYDO_ACCESS_TOKEN = "RydoAccessToken";
public const string RYDO_TOKEN_TYPE = "RydoTokenType";
#endregion
#region Properties
[JsonPropertyName("access_token")]
public string AccessToken { get; set; }
[JsonPropertyName("token_type")]
public string TokenType { get; set; }
[JsonPropertyName("expires_in")]
public int ExpiresIn { get; set; }
#endregion
}
}

+ 31
- 0
GMCabsDriverAssistantSolution/Models/Rydo/EndRideRequestDto.cs View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models.Rydo
{
public class EndRideRequestDto
{
[JsonPropertyName("driver_id")]
public Guid DriverId { get; set; }
[JsonPropertyName("direct_to_driver")]
public bool DirectToDriver { get; set; }
[JsonPropertyName("fare")]
public int Fare { get; set; }
[JsonPropertyName("extra")]
public int Extra { get; set; }
[JsonPropertyName("latitude")]
public double Latitude { get; set; }
[JsonPropertyName("longitude")]
public double Longitude { get; set; }
[JsonPropertyName("source_device_id")]
public int SourceDeviceId { get; set; }
}
}

+ 13
- 0
GMCabsDriverAssistantSolution/Models/Rydo/MessageRequest.cs View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models.Rydo
{
public class MessageRequest
{
[JsonPropertyName("Message")]
public string Message { get; set; }
}
}

+ 17
- 0
GMCabsDriverAssistantSolution/Models/Rydo/StartRideRequest.cs View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models.Rydo
{
public class StartRideRequest
{
[JsonPropertyName("driver_id")]
public string DriverId { get; set; }
[JsonPropertyName("force_start")]
public bool ForceStart { get; set; }
[JsonPropertyName("driver_source")]
public int? DriverSouce { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/Rydo/StartRideRequestDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models.Rydo
{
public class StartRideRequestDto
{
public StartRideRequest startRideRequest { get; set; }
public Guid BookingId { get; set;}
}
}

+ 16
- 0
GMCabsDriverAssistantSolution/Models/Rydo/StartTripRequest.cs View File

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models.Rydo
{
public class StartTripRequest
{
[JsonPropertyName("driver_id")]
public string DriverId { get; set; }
[JsonPropertyName("driver_source")]
public int? DriverSouce { get; set; }
}
}

+ 34
- 0
GMCabsDriverAssistantSolution/Models/ShiftResponseDto.cs View File

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class ShiftResponseDto
{
[JsonPropertyName("userID")]
public int UserID { get; set; }
[JsonPropertyName("startDate")]
public DateTime? StartDate { get; set; }
[JsonPropertyName("endDate")]
public DateTime? EndDate { get; set; }
[JsonPropertyName("networkVehicleID")]
public int NetworkVehicleID { get; set; }
[JsonPropertyName("carNumber")]
public string CarNumber { get; set; }
[JsonPropertyName("imei")]
public string Imei { get; set; }
[JsonPropertyName("startSuburb")]
public string StartSuburb { get; set; }
[JsonPropertyName("endSuburb")]
public string EndSuburb { get; set; }
}
}

+ 11
- 0
GMCabsDriverAssistantSolution/Models/SilentModeSettingRequest.cs View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class SilentModeSettingRequest
{
public bool IsSilentModeEnabled { get; set; }
}
}

+ 39
- 0
GMCabsDriverAssistantSolution/Models/StartRideResponse.cs View File

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class StartRideResponse
{
public int StatusCode { get; set; }
public string Message { get; set; }
[JsonPropertyName("passenger_name")]
public string PassengerName { get; set; }
[JsonPropertyName("is_corporate")]
public bool IsCorporate { get; set; }
[JsonPropertyName("end_address")]
public string EndAddress { get; set; }
[JsonPropertyName("end_suburb")]
public string EndSuburb { get; set; }
[JsonPropertyName("stopover_locations")]
public List<StopoverLocations> StopoverLocations { get; set; }
[JsonPropertyName("end_latitude")]
public double EndLatitude { get; set; }
[JsonPropertyName("end_longitude")]
public double EndLongitude { get; set; }
public string FullDestinationAddress { get; set; }
[JsonPropertyName("payment_method_id")]
public Guid? PaymentMethodId { get; set; }
[JsonPropertyName("fixed_amount")]
public decimal? FixedAmount { get; set; }
public int FrameWidth { get; set; }
public string DriverId { get; set; }
public Guid BookingId { get; set; }
}
}

+ 210
- 0
GMCabsDriverAssistantSolution/Models/StartTripResponse.cs View File

@ -0,0 +1,210 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class StartTripResponse
{
[JsonPropertyName("booking_id")]
public Guid BookingId { get; set; }
[JsonPropertyName("discount")]
public decimal Discount { get; set; }
[JsonPropertyName("start_address")]
public string StartAddress { get; set; }
[JsonPropertyName("start_suburb")]
public string StartSuburb { get; set; }
[JsonPropertyName("end_address")]
public string EndAddress { get; set; }
[JsonPropertyName("end_suburb")]
public string EndSuburb { get; set; }
[JsonPropertyName("future_booking")]
public bool FutureBooking { get; set; }
[JsonPropertyName("next_available")]
public bool NextAvailable { get; set; }
[JsonPropertyName("notes")]
public string Notes { get; set; }
[JsonPropertyName("taxi_type_id")]
public int? TaxiTypeId { get; set; }
[JsonPropertyName("fixed_amount")]
public int? FixedAmount { get; set; }
[JsonPropertyName("min_fare_amount")]
public int MinFareAmount { get; set; }
[JsonPropertyName("provider_charge_fixed_fare")]
public int ProviderChargeFixedFare { get; set; }
[JsonPropertyName("provider_charge_meter_fare")]
public int ProviderChargeMeterFare { get; set; }
[JsonPropertyName("provider_charge_fixed_fare_preferred")]
public int ProviderChargeFixedFarePreferred { get; set; }
[JsonPropertyName("provider_charge_meter_fare_preferred")]
public int ProviderChargeMeterFarePreferred { get; set; }
[JsonPropertyName("pre_tip")]
public int PreTip { get; set; }
[JsonPropertyName("start_time_local")]
public long StartTimeLocal { get; set; }
[JsonPropertyName("start_time_utc")]
public long StartTimeUtc { get; set; }
[JsonPropertyName("luggage_count")]
public int LuggageCount { get; set; }
[JsonPropertyName("passenger_count")]
public int PassengerCount { get; set; }
[JsonPropertyName("service_type_id")]
public int ServiceTypeId { get; set; }
[JsonPropertyName("passenger_phone_number")]
public string PassengerPhoneNumber { get; set; }
[JsonPropertyName("passenger_name")]
public string PassengerName { get; set; }
[JsonPropertyName("voucher_amount")]
public int VoucherAmount { get; set; }
[JsonPropertyName("latitude")]
public double Latitude { get; set; }
[JsonPropertyName("longitude")]
public double Longitude { get; set; }
[JsonPropertyName("distance")]
public double Distance { get; set; }
[JsonPropertyName("estimate_fare")]
public int EstimateFare { get; set; }
[JsonPropertyName("is_corporate")]
public bool IsCorporate { get; set; }
[JsonPropertyName("in_hail")]
public bool InHail { get; set; }
[JsonPropertyName("payment_method_id")]
public Guid? PaymentMethodId { get; set; }
[JsonPropertyName("payment_method_verified")]
public bool? PaymentMethodVerified { get; set; }
[JsonPropertyName("rydo_stars")]
public int RydoStars { get; set; }
[JsonPropertyName("priority_driver")]
public bool PriorityDriver { get; set; }
[JsonPropertyName("end_latitude")]
public double EndLatitude { get; set; }
[JsonPropertyName("end_longitude")]
public double EndLongitude { get; set; }
[JsonPropertyName("start_latitude")]
public double StartLatitude { get; set; }
[JsonPropertyName("start_longitude")]
public double StartLongitude { get; set; }
[JsonPropertyName("payment_type")]
public int PaymentType { get; set; }
[JsonPropertyName("booking_type")]
public int BookingType { get; set; }
[JsonPropertyName("pickup_time")]
public long PickupTime { get; set; }
[JsonPropertyName("fare_type")]
public int FareType { get; set; }
[JsonPropertyName("status_id")]
public int StatusId { get; set; }
[JsonPropertyName("status_code")]
public string StatusCode { get; set; }
[JsonPropertyName("delivered")]
public bool Delivered { get; set; }
[JsonPropertyName("ride_id")]
public Guid? RideId { get; set; }
[JsonPropertyName("fare_amount")]
public int? FareAmount { get; set; }
[JsonPropertyName("end_state")]
public string EndState { get; set; }
[JsonPropertyName("service_id")]
public int ServiceId { get; set; }
[JsonPropertyName("start_state")]
public string StartState { get; set; }
[JsonPropertyName("journey_distance")]
public int JourneyDistance { get; set; }
[JsonPropertyName("reward_points")]
public int RewardPoints { get; set; }
[JsonPropertyName("booking_fee")]
public int BookingFee { get; set; }
[JsonPropertyName("booking_fee_waived")]
public bool BookingFeeWaived { get; set; }
[JsonPropertyName("tip")]
public int? Tip { get; set; }
[JsonPropertyName("driver_number_plate")]
public string DriverNumberPlate { get; set; }
[JsonPropertyName("estimated_arrival_time")]
public int EstimatedArrivalTime { get; set; }
[JsonPropertyName("voucher_id")]
public string VoucherId { get; set; }
[JsonPropertyName("promotion_id")]
public string PromotionId { get; set; }
[JsonPropertyName("stored_cards_available")]
public bool StoredCardsAvailable { get; set; }
[JsonPropertyName("current_stop_number")]
public int? CurrentStopNumber { get; set; }
[JsonPropertyName("stopover_locations")]
public List<StopoverLocations> StopoverLocations { get; set; }
[JsonPropertyName("pre_accepted")]
public bool PreAccepted { get; set; }
[JsonPropertyName("tid")]
public string Tid { get; set; }
[JsonPropertyName("platform_identity")]
public string PlatformIdentity { get; set; }
public int ResponseStatusCode { get; set; }
public string Message { get; set; }
}
}

+ 27
- 0
GMCabsDriverAssistantSolution/Models/StopoverLocations.cs View File

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.Json.Serialization;
namespace GMCabsDriverAssistant.Models
{
public class StopoverLocations
{
[JsonPropertyName("latitude")]
public double Latitude { get; set; }
[JsonPropertyName("longitude")]
public double Longitude { get; set; }
[JsonPropertyName("address")]
public string Address { get; set; }
[JsonPropertyName("suburb")]
public string Suburb { get; set; }
[JsonPropertyName("stop_number")]
public int StopNumber { get; set; }
public string FullStopOverAddress => Address + " " + Suburb;
public string LabelColor { get; set; } = "#BBB9B9";
public double CircleColorOpecity { get; set; }
public bool IsLineVisible { get; set; } = true;
}
}

+ 13
- 0
GMCabsDriverAssistantSolution/Models/TripsBookingResponse.cs View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class TripsBookingResponse
{
public DateTime BookingDate { get; set; }
public string PickupAddress { get; set; }
public string DropoffAddress { get; set; }
}
}

+ 12
- 0
GMCabsDriverAssistantSolution/Models/UnreadCountResponseDto.cs View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class UnreadCountResponseDto
{
public int StatusCode { get; set; }
public int UnreadNotificationCount { get; set; }
}
}

+ 18
- 0
GMCabsDriverAssistantSolution/Models/ValidateTokenResponseDto.cs View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace GMCabsDriverAssistant.Models
{
public class ValidateTokenResponseDto
{
public bool Result { get; set; }
public bool CanAcceptBookings { get; set; }
public bool CanUpdateLicence { get; set; }
public bool CanScanVouchers { get; set; }
public bool CanViewCoupons { get; set; }
public bool CanViewSettings { get; set; }
public bool CanViewHome { get; set; }
public bool CanViewJobHistory { get; set; }
}
}

+ 9
- 0
GMCabsDriverAssistantSolution/Platforms/Android/AndroidManifest.xml View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true" package="au.com.gmcabs.driverassistant" android:usesCleartextTraffic="true"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>

+ 19
- 0
GMCabsDriverAssistantSolution/Platforms/Android/FirebaseServices.cs View File

@ -0,0 +1,19 @@
using Firebase.Messaging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GMCabsDriverAssistantSolution.Platforms.Android
{
public class FirebaseServices : FirebaseMessagingService
{
public FirebaseServices() { }
public override void OnNewToken(string token)
{
base.OnNewToken(token);
}
}
}

+ 10
- 0
GMCabsDriverAssistantSolution/Platforms/Android/MainActivity.cs View File

@ -0,0 +1,10 @@
using Android.App;
using Android.Content.PM;
using Android.OS;
namespace GMCabsDriverAssistantSolution;
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
}

+ 15
- 0
GMCabsDriverAssistantSolution/Platforms/Android/MainApplication.cs View File

@ -0,0 +1,15 @@
using Android.App;
using Android.Runtime;
namespace GMCabsDriverAssistantSolution;
[Application]
public class MainApplication : MauiApplication
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

+ 6
- 0
GMCabsDriverAssistantSolution/Platforms/Android/Resources/values/colors.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#512BD4</color>
<color name="colorPrimaryDark">#2B0B98</color>
<color name="colorAccent">#2B0B98</color>
</resources>

+ 39
- 0
GMCabsDriverAssistantSolution/Platforms/Android/google-services.json View File

@ -0,0 +1,39 @@
{
"project_info": {
"project_number": "1043650258738",
"project_id": "gm-driver-assistant",
"storage_bucket": "gm-driver-assistant.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:1043650258738:android:09e96234595e06190e192b",
"android_client_info": {
"package_name": "au.com.gmcabs.driverassistant"
}
},
"oauth_client": [
{
"client_id": "1043650258738-f7temh37gnu293l6oe1r6r7dqa4k71ms.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBZDupHesCvSye9Yi5zDiyUUSFm3ZcmBj8"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "1043650258738-f7temh37gnu293l6oe1r6r7dqa4k71ms.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

+ 10
- 0
GMCabsDriverAssistantSolution/Platforms/Android/network_security_config.xml View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true" >
<domain includeSubdomains="true">10.0.2.2</domain><!-- Debug port -->
<domain includeSubdomains="true">insightpayments.com</domain>
<domain includeSubdomains="true">devapi.insightpayments.com</domain>
<domain includeSubdomains="true">xamarin.com</domain>
<domain includeSubdomains="true">3.6.215.207</domain>
</domain-config>
</network-security-config>

+ 9
- 0
GMCabsDriverAssistantSolution/Platforms/MacCatalyst/AppDelegate.cs View File

@ -0,0 +1,9 @@
using Foundation;
namespace GMCabsDriverAssistantSolution;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

+ 30
- 0
GMCabsDriverAssistantSolution/Platforms/MacCatalyst/Info.plist View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

+ 15
- 0
GMCabsDriverAssistantSolution/Platforms/MacCatalyst/Program.cs View File

@ -0,0 +1,15 @@
using ObjCRuntime;
using UIKit;
namespace GMCabsDriverAssistantSolution;
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, typeof(AppDelegate));
}
}

+ 16
- 0
GMCabsDriverAssistantSolution/Platforms/Tizen/Main.cs View File

@ -0,0 +1,16 @@
using System;
using Microsoft.Maui;
using Microsoft.Maui.Hosting;
namespace GMCabsDriverAssistantSolution;
class Program : MauiApplication
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
static void Main(string[] args)
{
var app = new Program();
app.Run(args);
}
}

+ 15
- 0
GMCabsDriverAssistantSolution/Platforms/Tizen/tizen-manifest.xml View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="maui-application-id-placeholder" version="0.0.0" api-version="7" xmlns="http://tizen.org/ns/packages">
<profile name="common" />
<ui-application appid="maui-application-id-placeholder" exec="GMCabsDriverAssistantSolution.dll" multiple="false" nodisplay="false" taskmanage="true" type="dotnet" launch_mode="single">
<label>maui-application-title-placeholder</label>
<icon>maui-appicon-placeholder</icon>
<metadata key="http://tizen.org/metadata/prefer_dotnet_aot" value="true" />
</ui-application>
<shortcut-list />
<privileges>
<privilege>http://tizen.org/privilege/internet</privilege>
</privileges>
<dependencies />
<provides-appdefined-privileges />
</manifest>

+ 8
- 0
GMCabsDriverAssistantSolution/Platforms/Windows/App.xaml View File

@ -0,0 +1,8 @@
<maui:MauiWinUIApplication
x:Class="GMCabsDriverAssistantSolution.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:maui="using:Microsoft.Maui"
xmlns:local="using:GMCabsDriverAssistantSolution.WinUI">
</maui:MauiWinUIApplication>

+ 24
- 0
GMCabsDriverAssistantSolution/Platforms/Windows/App.xaml.cs View File

@ -0,0 +1,24 @@
using Microsoft.UI.Xaml;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace GMCabsDriverAssistantSolution.WinUI;
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
public partial class App : MauiWinUIApplication
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

+ 43
- 0
GMCabsDriverAssistantSolution/Platforms/Windows/Package.appxmanifest View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity Name="maui-package-name-placeholder" Publisher="CN=User Name" Version="0.0.0.0" />
<Properties>
<DisplayName>$placeholder$</DisplayName>
<PublisherDisplayName>User Name</PublisherDisplayName>
<Logo>$placeholder$.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="$placeholder$"
Description="$placeholder$"
Square150x150Logo="$placeholder$.png"
Square44x44Logo="$placeholder$.png"
BackgroundColor="transparent">
<uap:DefaultTile Square71x71Logo="$placeholder$.png" Wide310x150Logo="$placeholder$.png" Square310x310Logo="$placeholder$.png" />
<uap:SplashScreen Image="$placeholder$.png" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

+ 15
- 0
GMCabsDriverAssistantSolution/Platforms/Windows/app.manifest View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="GMCabsDriverAssistantSolution.WinUI.app"/>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<!-- The combination of below two tags have the following effect:
1) Per-Monitor for >= Windows 10 Anniversary Update
2) System < Windows 10 Anniversary Update
-->
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

+ 9
- 0
GMCabsDriverAssistantSolution/Platforms/iOS/AppDelegate.cs View File

@ -0,0 +1,9 @@
using Foundation;
namespace GMCabsDriverAssistantSolution;
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}

+ 32
- 0
GMCabsDriverAssistantSolution/Platforms/iOS/Info.plist View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

+ 15
- 0
GMCabsDriverAssistantSolution/Platforms/iOS/Program.cs View File

@ -0,0 +1,15 @@
using ObjCRuntime;
using UIKit;
namespace GMCabsDriverAssistantSolution;
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, typeof(AppDelegate));
}
}

+ 8
- 0
GMCabsDriverAssistantSolution/Properties/launchSettings.json View File

@ -0,0 +1,8 @@
{
"profiles": {
"Windows Machine": {
"commandName": "MsixPackage",
"nativeDebugging": false
}
}
}

+ 4
- 0
GMCabsDriverAssistantSolution/Resources/AppIcon/appicon.svg View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="0" width="456" height="456" fill="#512BD4" />
</svg>

+ 8
- 0
GMCabsDriverAssistantSolution/Resources/AppIcon/appiconfg.svg View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="456" height="456" viewBox="0 0 456 456" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<path d="m 105.50037,281.60863 c -2.70293,0 -5.00091,-0.90042 -6.893127,-2.70209 -1.892214,-1.84778 -2.837901,-4.04181 -2.837901,-6.58209 0,-2.58722 0.945687,-4.80389 2.837901,-6.65167 1.892217,-1.84778 4.190197,-2.77167 6.893127,-2.77167 2.74819,0 5.06798,0.92389 6.96019,2.77167 1.93749,1.84778 2.90581,4.06445 2.90581,6.65167 0,2.54028 -0.96832,4.73431 -2.90581,6.58209 -1.89221,1.80167 -4.212,2.70209 -6.96019,2.70209 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 213.56111,280.08446 H 195.99044 L 149.69953,207.0544 c -1.17121,-1.84778 -2.14037,-3.76515 -2.90581,-5.75126 h -0.40578 c 0.36051,2.12528 0.54076,6.67515 0.54076,13.6496 v 65.13172 h -15.54349 v -99.36009 h 18.71925 l 44.7374,71.29798 c 1.89222,2.95695 3.1087,4.98917 3.64945,6.09751 h 0.26996 c -0.45021,-2.6325 -0.67573,-7.09015 -0.67573,-13.37293 v -64.02256 h 15.47557 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="m 289.25134,280.08446 h -54.40052 v -99.36009 h 52.23835 v 13.99669 h -36.15411 v 28.13085 h 33.31621 v 13.9271 h -33.31621 v 29.37835 h 38.31628 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
<path d="M 366.56466,194.72106 H 338.7222 v 85.3634 h -16.08423 v -85.3634 h -27.77455 v -13.99669 h 71.70124 z" style="fill:#ffffff;fill-rule:nonzero;stroke-width:0.838376" />
</svg>

BIN
GMCabsDriverAssistantSolution/Resources/Fonts/OpenSans-Regular.ttf View File


BIN
GMCabsDriverAssistantSolution/Resources/Fonts/OpenSans-Semibold.ttf View File


BIN
GMCabsDriverAssistantSolution/Resources/Images/adminlock.png View File

Before After
Width: 24  |  Height: 24  |  Size: 439 B

BIN
GMCabsDriverAssistantSolution/Resources/Images/avail_button.png View File

Before After
Width: 118  |  Height: 118  |  Size: 2.5 KiB

BIN
GMCabsDriverAssistantSolution/Resources/Images/back_arrow.png View File

Before After
Width: 24  |  Height: 24  |  Size: 314 B

BIN
GMCabsDriverAssistantSolution/Resources/Images/backspace.png View File

Before After
Width: 98  |  Height: 98  |  Size: 991 B

BIN
GMCabsDriverAssistantSolution/Resources/Images/barcode.png View File

Before After
Width: 307  |  Height: 333  |  Size: 5.9 KiB

BIN
GMCabsDriverAssistantSolution/Resources/Images/baseline_home_black_24dp.png View File

Before After
Width: 24  |  Height: 24  |  Size: 182 B

BIN
GMCabsDriverAssistantSolution/Resources/Images/busy_button.png View File

Before After
Width: 118  |  Height: 118  |  Size: 2.2 KiB

BIN
GMCabsDriverAssistantSolution/Resources/Images/card_cash.png View File

Before After
Width: 312  |  Height: 312  |  Size: 26 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save