Initial commit
27
GMCabsDriverAssistantSolution.sln
Normal 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
GMCabsDriverAssistantSolution/App.xaml
Normal 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
GMCabsDriverAssistantSolution/App.xaml.cs
Normal 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
GMCabsDriverAssistantSolution/AppShell.xaml
Normal 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
GMCabsDriverAssistantSolution/AppShell.xaml.cs
Normal 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
GMCabsDriverAssistantSolution/Constants.Debug.cs
Normal 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
GMCabsDriverAssistantSolution/Constants.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace GMCabsDriverAssistant
|
||||
{
|
||||
partial class Constants
|
||||
{
|
||||
public const string VoucherScanUseFrontCamera = "VoucherScanUseFrontCamera";
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
namespace GMCabsDriverAssistantSolution.CustomControls
|
||||
{
|
||||
public class NoUnderlineEntry : Entry
|
||||
{
|
||||
}
|
||||
}
|
26
GMCabsDriverAssistantSolution/CustomControls/OtpEntry.cs
Normal 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
GMCabsDriverAssistantSolution/Enums/BookingNextAction.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace GMCabsDriverAssistant.Enums
|
||||
{
|
||||
public enum BookingNextAction
|
||||
{
|
||||
None,
|
||||
NoAction,
|
||||
ChangeServiceType,
|
||||
OfferTip,
|
||||
WaitLonger
|
||||
}
|
||||
}
|
18
GMCabsDriverAssistantSolution/Enums/BookingStatus.cs
Normal file
@ -0,0 +1,18 @@
|
||||
namespace GMCabsDriverAssistant.Enums
|
||||
{
|
||||
public enum BookingStatus
|
||||
{
|
||||
None,
|
||||
Scheduled,
|
||||
Processing,
|
||||
NoDriverAvailable,
|
||||
UserCancelled,
|
||||
AdminCancelled,
|
||||
Accepted,
|
||||
PassengerCollected,
|
||||
DriverCancelled,
|
||||
CustomerNoShow,
|
||||
Completed,
|
||||
SystemCancelled
|
||||
}
|
||||
}
|
13
GMCabsDriverAssistantSolution/Enums/BookingType.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace GMCabsDriverAssistant.Enums
|
||||
{
|
||||
public enum BookingType
|
||||
{
|
||||
None,
|
||||
Public,
|
||||
Corporate
|
||||
}
|
||||
}
|
12
GMCabsDriverAssistantSolution/Enums/FareType.cs
Normal 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
GMCabsDriverAssistantSolution/Enums/PaymentType.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace GMCabsDriverAssistant.Enums
|
||||
{
|
||||
public enum PaymentType
|
||||
{
|
||||
None,
|
||||
DirectToDriver,
|
||||
Account
|
||||
}
|
||||
}
|
15
GMCabsDriverAssistantSolution/Enums/ServiceType.cs
Normal 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
GMCabsDriverAssistantSolution/Enums/TaxiType.cs
Normal file
@ -0,0 +1,11 @@
|
||||
namespace GMCabsDriverAssistant.Enums
|
||||
{
|
||||
public enum TaxiType
|
||||
{
|
||||
None,
|
||||
Standard,
|
||||
MaxiTaxi,
|
||||
StationWagon,
|
||||
LondonCabs
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/ILocationConsent.cs
Normal 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
GMCabsDriverAssistantSolution/MainPage.xaml
Normal 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
GMCabsDriverAssistantSolution/MainPage.xaml.cs
Normal 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
GMCabsDriverAssistantSolution/MauiProgram.cs
Normal 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();
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace GMCabsDriverAssistant.Messages
|
||||
{
|
||||
public class LocationErrorMessage
|
||||
{
|
||||
}
|
||||
}
|
12
GMCabsDriverAssistantSolution/Messages/LocationMessage.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace GMCabsDriverAssistant.Messages
|
||||
{
|
||||
public class StartServiceMessage
|
||||
{
|
||||
}
|
||||
}
|
10
GMCabsDriverAssistantSolution/Messages/StopServiceMessage.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace GMCabsDriverAssistant.Messages
|
||||
{
|
||||
public class StopServiceMessage
|
||||
{
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/AccountBalanceDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/ApiResponseDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/AvailableBooking.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/BookingDto.cs
Normal 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; }
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/ContactCustomerDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/Coupon.cs
Normal 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
GMCabsDriverAssistantSolution/Models/CouponDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/CouponHistoryDto.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/DriverRatingResponse.cs
Normal 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
GMCabsDriverAssistantSolution/Models/ImeiDto.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/LocationVoucherDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/LoginRequestDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/LoginResponseDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/MeterTrip.cs
Normal 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
GMCabsDriverAssistantSolution/Models/NotificationDto.cs
Normal 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
GMCabsDriverAssistantSolution/Models/PlotResponseDto.cs
Normal 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)";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/ReleaseBookingDto.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
|
||||
}
|
@ -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
|
||||
}
|
||||
|
||||
}
|
@ -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; }
|
||||
}
|
||||
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/Rydo/MessageRequest.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
}
|
@ -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;}
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/ShiftResponseDto.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Models/StartRideResponse.cs
Normal 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
GMCabsDriverAssistantSolution/Models/StartTripResponse.cs
Normal 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
GMCabsDriverAssistantSolution/Models/StopoverLocations.cs
Normal 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
GMCabsDriverAssistantSolution/Models/TripsBookingResponse.cs
Normal 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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
}
|
@ -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; }
|
||||
}
|
||||
}
|
@ -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>
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
{
|
||||
}
|
@ -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();
|
||||
}
|
@ -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>
|
@ -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"
|
||||
}
|
@ -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>
|
@ -0,0 +1,9 @@
|
||||
using Foundation;
|
||||
|
||||
namespace GMCabsDriverAssistantSolution;
|
||||
|
||||
[Register("AppDelegate")]
|
||||
public class AppDelegate : MauiUIApplicationDelegate
|
||||
{
|
||||
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
|
||||
}
|
@ -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>
|
@ -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
GMCabsDriverAssistantSolution/Platforms/Tizen/Main.cs
Normal 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);
|
||||
}
|
||||
}
|
@ -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
GMCabsDriverAssistantSolution/Platforms/Windows/App.xaml
Normal 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
GMCabsDriverAssistantSolution/Platforms/Windows/App.xaml.cs
Normal 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();
|
||||
}
|
||||
|
@ -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
GMCabsDriverAssistantSolution/Platforms/Windows/app.manifest
Normal 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>
|
@ -0,0 +1,9 @@
|
||||
using Foundation;
|
||||
|
||||
namespace GMCabsDriverAssistantSolution;
|
||||
|
||||
[Register("AppDelegate")]
|
||||
public class AppDelegate : MauiUIApplicationDelegate
|
||||
{
|
||||
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
|
||||
}
|
32
GMCabsDriverAssistantSolution/Platforms/iOS/Info.plist
Normal 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
GMCabsDriverAssistantSolution/Platforms/iOS/Program.cs
Normal 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));
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Windows Machine": {
|
||||
"commandName": "MsixPackage",
|
||||
"nativeDebugging": false
|
||||
}
|
||||
}
|
||||
}
|
@ -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>
|
After Width: | Height: | Size: 228 B |
@ -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>
|
After Width: | Height: | Size: 1.8 KiB |
BIN
GMCabsDriverAssistantSolution/Resources/Images/adminlock.png
Normal file
After Width: | Height: | Size: 439 B |
BIN
GMCabsDriverAssistantSolution/Resources/Images/avail_button.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
GMCabsDriverAssistantSolution/Resources/Images/back_arrow.png
Normal file
After Width: | Height: | Size: 314 B |
BIN
GMCabsDriverAssistantSolution/Resources/Images/backspace.png
Normal file
After Width: | Height: | Size: 991 B |
BIN
GMCabsDriverAssistantSolution/Resources/Images/barcode.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 182 B |
BIN
GMCabsDriverAssistantSolution/Resources/Images/busy_button.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
GMCabsDriverAssistantSolution/Resources/Images/card_cash.png
Normal file
After Width: | Height: | Size: 26 KiB |