From d6d7912c965e9ed11919f3393105530969eaa713 Mon Sep 17 00:00:00 2001 From: s459315 Date: Wed, 27 Jul 2022 15:43:26 +0200 Subject: [PATCH] Add remove from Cart functionality --- .../ViewModels/SalesViewModel.cs | 26 +++++++++++++++++++ RMWPFUserInterface/Views/SalesView.xaml | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/RMWPFUserInterface/ViewModels/SalesViewModel.cs b/RMWPFUserInterface/ViewModels/SalesViewModel.cs index 4b97ced..b9ec4e0 100644 --- a/RMWPFUserInterface/ViewModels/SalesViewModel.cs +++ b/RMWPFUserInterface/ViewModels/SalesViewModel.cs @@ -67,6 +67,17 @@ namespace RMWPFUserInterface.ViewModels } } + private CartItemDisplayModel _selectedCartItem; + public CartItemDisplayModel SelectedCartItem + { + get { return _selectedCartItem; } + set + { + _selectedCartItem = value; + NotifyOfPropertyChange(() => SelectedCartItem); + NotifyOfPropertyChange(() => CanRemoveFromCart); + } + } private BindingList _cart = new BindingList(); @@ -189,12 +200,27 @@ namespace RMWPFUserInterface.ViewModels bool output = false; // Make sure something is selected + if (SelectedCartItem != null && SelectedCartItem?.Product.QuantityInStock > 0) + { + output = true; + } return output; } } public void RemoveFromCart() { + SelectedCartItem.Product.QuantityInStock += 1; + + if (SelectedCartItem.QuantityInCart > 1) + { + SelectedCartItem.QuantityInCart -= 1; + } + else + { + Cart.Remove(SelectedCartItem); + } + NotifyOfPropertyChange(() => SubTotal); NotifyOfPropertyChange(() => Tax); NotifyOfPropertyChange(() => Total); diff --git a/RMWPFUserInterface/Views/SalesView.xaml b/RMWPFUserInterface/Views/SalesView.xaml index 83ef5ed..2a2c3b6 100644 --- a/RMWPFUserInterface/Views/SalesView.xaml +++ b/RMWPFUserInterface/Views/SalesView.xaml @@ -66,7 +66,7 @@ + MinHeight="200" MinWidth="150" SelectedItem="{Binding SelectedCartItem}">