This commit is contained in:
Gerald Versluis 2024-04-03 17:02:05 +02:00
Родитель 9492e91e27
Коммит 70582e29f6
16 изменённых файлов: 55 добавлений и 86 удалений

Просмотреть файл

@ -1,7 +1,6 @@
namespace PointOfSale.Models;
[INotifyPropertyChanged]
public partial class Item
public partial class Item : ObservableObject
{
[ObservableProperty]
string title;

Просмотреть файл

@ -3,8 +3,7 @@ using PointOfSale.Pages.Handheld;
namespace PointOfSale.Models;
[INotifyPropertyChanged]
public partial class Order
public partial class Order : ObservableObject
{
[ObservableProperty]
private int table;
@ -19,9 +18,9 @@ public partial class Order
{
get
{
var tot = items.Sum(i => (i.Price * i.Quantity));
if (tip != 0)
tot = tot + (tot * tip);
var tot = Items.Sum(i => (i.Price * i.Quantity));
if (Tip != 0)
tot = tot + (tot * Tip);
return tot.ToString("N2");
}
}
@ -48,7 +47,7 @@ public partial class Order
}
[RelayCommand]
private async void Pay()
private async Task Pay()
{
try
{

Просмотреть файл

@ -1,7 +1,6 @@
namespace PointOfSale.Pages;
[INotifyPropertyChanged]
public partial class DashboardViewModel
public partial class DashboardViewModel : ObservableObject
{
[RelayCommand]
async Task ViewAll()

Просмотреть файл

@ -1,8 +1,7 @@
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
public partial class MobileLoginViewModel
public partial class MobileLoginViewModel : ObservableObject
{
[RelayCommand]
async Task Login()

Просмотреть файл

@ -1,9 +1,8 @@
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
[QueryProperty("Order","Order")]
[QueryProperty("Added", "Added")]
public partial class OrderDetailsViewModel
public partial class OrderDetailsViewModel : ObservableObject
{
[ObservableProperty]
Order order;
@ -18,7 +17,7 @@ public partial class OrderDetailsViewModel
{
var navigationParameter = new Dictionary<string, object>
{
{ "Order", order }
{ "Order", Order }
};
await Shell.Current.GoToAsync($"{nameof(TipPage)}", navigationParameter);
}

Просмотреть файл

@ -5,8 +5,7 @@ using System.Reflection;
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
public partial class OrdersViewModel
public partial class OrdersViewModel : ObservableObject
{
[ObservableProperty]
private ObservableCollection<Order> _orders;

Просмотреть файл

@ -1,18 +1,17 @@
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
[QueryProperty("Order","Order")]
public partial class PayViewModel
public partial class PayViewModel : ObservableObject
{
[ObservableProperty]
Order order;
[RelayCommand]
async void Pay()
async Task Pay()
{
var navigationParameter = new Dictionary<string, object>
{
{ "Order", order }
{ "Order", Order }
};
await Shell.Current.GoToAsync($"{nameof(SignaturePage)}", navigationParameter);
}

Просмотреть файл

@ -1,14 +1,13 @@
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
[QueryProperty("Order","Order")]
public partial class ReceiptViewModel
public partial class ReceiptViewModel : ObservableObject
{
[ObservableProperty]
Order order;
[RelayCommand]
async void Done()
async Task Done()
{
await Shell.Current.GoToAsync("///orders");
}

Просмотреть файл

@ -3,9 +3,8 @@ using PointOfSale.Messages;
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
[QueryProperty("Order","Order")]
public partial class SignatureViewModel
public partial class SignatureViewModel : ObservableObject
{
[ObservableProperty]
Order order;
@ -14,21 +13,23 @@ public partial class SignatureViewModel
async Task Done()
{
WeakReferenceMessenger.Default.Send<SaveSignatureMessage>(
new SaveSignatureMessage(order.Table)
new SaveSignatureMessage(Order.Table)
);
var navigationParameter = new Dictionary<string, object>
{
{ "Order", order }
{ "Order", Order }
};
await Shell.Current.GoToAsync($"{nameof(ReceiptPage)}", navigationParameter);
}
[RelayCommand]
void Clear()
Task Clear()
{
WeakReferenceMessenger.Default.Send<ClearSignatureMessage>(
new ClearSignatureMessage(true)
); ;
);
return Task.CompletedTask;
}
}

Просмотреть файл

@ -1,8 +1,7 @@
namespace PointOfSale.Pages.Handheld;
[INotifyPropertyChanged]
[QueryProperty("Order","Order")]
public partial class TipViewModel
public partial class TipViewModel : ObservableObject
{
[ObservableProperty]
Order order;
@ -12,16 +11,16 @@ public partial class TipViewModel
partial void OnTipChanged(double value)
{
order.Tip = value;
Order.Tip = value;
OnPropertyChanged(nameof(Order));
}
[RelayCommand]
async void Continue()
async Task Continue()
{
var navigationParameter = new Dictionary<string, object>
{
{ "Order", order }
{ "Order", Order }
};
await Shell.Current.GoToAsync($"{nameof(PayPage)}", navigationParameter);
}

Просмотреть файл

@ -3,8 +3,7 @@ using PointOfSale.Messages;
namespace PointOfSale.Pages;
[INotifyPropertyChanged]
public partial class HomeViewModel
public partial class HomeViewModel : ObservableObject
{
[ObservableProperty]
ObservableCollection<Item> _products;
@ -12,10 +11,10 @@ public partial class HomeViewModel
[ObservableProperty]
string category = ItemCategory.Noodles.ToString();
partial void OnCategoryChanged(string cat)
partial void OnCategoryChanged(string value)
{
ItemCategory category = (ItemCategory)Enum.Parse(typeof(ItemCategory), cat);
_products = new ObservableCollection<Item>(
ItemCategory category = (ItemCategory)Enum.Parse(typeof(ItemCategory), value);
Products = new ObservableCollection<Item>(
AppData.Items.Where(x => x.Category == category).ToList()
);
OnPropertyChanged(nameof(Products));
@ -23,7 +22,7 @@ public partial class HomeViewModel
public HomeViewModel()
{
_products = new ObservableCollection<Item>(
Products = new ObservableCollection<Item>(
AppData.Items.Where(x=>x.Category == ItemCategory.Noodles).ToList()
);
}
@ -35,7 +34,7 @@ public partial class HomeViewModel
}
[RelayCommand]
async Task AddProduct()
void AddProduct()
{
WeakReferenceMessenger.Default.Send<AddProductMessage>(new AddProductMessage(true));
}

Просмотреть файл

@ -1,7 +1,6 @@
namespace PointOfSale.Pages;
[INotifyPropertyChanged]
public partial class SettingsViewModel
public partial class SettingsViewModel : ObservableObject
{
[ObservableProperty]
ObservableCollection<Item> _products;

Просмотреть файл

@ -2,9 +2,8 @@
using PointOfSale.Messages;
namespace PointOfSale.Pages;
[INotifyPropertyChanged]
public partial class AddProductViewModel
public partial class AddProductViewModel : ObservableObject
{
[ObservableProperty]
Item item = new Item();
@ -21,20 +20,22 @@ public partial class AddProductViewModel
[RelayCommand]
void Save()
{
ItemCategory cat = (ItemCategory)Enum.Parse(typeof(ItemCategory), category);
item.Category = cat;
AppData.Items.Add(item);
ItemCategory cat = (ItemCategory)Enum.Parse(typeof(ItemCategory), Category);
Item.Category = cat;
AppData.Items.Add(Item);
WeakReferenceMessenger.Default.Send<AddProductMessage>(new AddProductMessage(false));
}
[RelayCommand]
void Cancel()
Task Cancel()
{
WeakReferenceMessenger.Default.Send<AddProductMessage>(new AddProductMessage(false));
return Task.CompletedTask;
}
[RelayCommand]
[RelayCommand]
async Task ChangeImage()
{
PickOptions options = new()
@ -66,6 +67,7 @@ public partial class AddProductViewModel
catch (Exception ex)
{
// The user canceled or something went wrong
Console.WriteLine(ex);
}
return null;

Просмотреть файл

@ -1,8 +1,7 @@
using System;
namespace PointOfSale.Pages.Views;
[INotifyPropertyChanged]
public partial class OrderCartViewModel
public partial class OrderCartViewModel : ObservableObject
{
[ObservableProperty]
Order order;

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.dot.pointofsale" android:versionCode="1" android:versionName="1.0.0">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true" android:label="Food">
<activity android:name="microsoft.identity.client.BrowserTabActivity" android:configChanges="orientation|screenSize" android:exported="true">
<intent-filter>

Просмотреть файл

@ -8,8 +8,6 @@
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
<WarningsAsErrors>false</WarningsAsErrors>
<!-- Display name -->
<ApplicationTitle>Food</ApplicationTitle>
@ -34,29 +32,6 @@
<AssemblyName>Food</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net6.0-ios|AnyCPU'">
<CodesignProvision>dPOSDev</CodesignProvision>
<CodesignKey>Apple Development: Created via API (2NJFZDD9ZM)</CodesignKey>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0-ios|AnyCPU'">
<CodesignProvision>Automatic</CodesignProvision>
<CodesignKey>iPhone Developer</CodesignKey>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net7.0-ios|AnyCPU'">
<CreatePackage>false</CreatePackage>
<CodesignProvision>Automatic</CodesignProvision>
<CodesignKey>iPhone Developer</CodesignKey>
<CodesignEntitlements>Platforms\iOS\Entitlements.plist</CodesignEntitlements>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net7.0-ios|AnyCPU'">
<CreatePackage>false</CreatePackage>
</PropertyGroup>
<ItemGroup>
<!-- App Icon -->
<MauiIcon Include="Resources\appicon.svg" ForegroundFile="Resources\appiconfg.svg" Color="#252836" />
@ -82,18 +57,21 @@
<ItemGroup>
<PackageReference Include="CommunityToolkit.Maui" Version="3.0.0" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.1.0-preview1" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageReference Include="Microcharts" Version="0.9.5.9" />
<PackageReference Include="Redth.ZXing.Net.Maui" Version="0.1.0-preview.4" />
<PackageReference Include="SkiaSharp.Extended.UI.Maui" Version="2.0.0-preview.61" />
<PackageReference Include="SkiaSharp.Extended.UI.Maui" Version="2.0.0-preview.92" />
<PackageReference Include="Ril.BlazorSignatureCanvas" Version="0.1.0-alpha" />
<PackageReference Include="Microsoft.Identity.Client" Version="4.48.1" />
<PackageReference Include="MonkeyCache" Version="2.0.0-beta" />
<PackageReference Include="MonkeyCache.FileStore" Version="2.0.0-beta" />
<PackageReference Include="AlohaKit.Animations" Version="1.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageReference Include="AsyncAwaitBestPractices" Version="6.0.6" />
<PackageReference Include="Plugin.Maui.KeyListener" Version="1.0.0-preview1" />
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="$(MauiVersion)" />
</ItemGroup>
</Project>