/// <summary> /// Called when the 'Entries' list in the shopping cart changes. /// </summary> private void OnShoppingCartEntriesChanged(ShoppingCart sender, ShoppingCartEntriesChangedEventArgs args) { if (!_isLoaded) { return; } switch (args.Type) { case ShoppingCartEntriesChangedType.EntryAdded: var entryViewModel = new ShoppingCartEntryViewModel(this.ShoppingCart, this.ShoppingCart.Entries[args.Index]); _entries.Insert(args.Index, entryViewModel); break; case ShoppingCartEntriesChangedType.EntryRemoved: _entries.RemoveAt(args.Index); break; case ShoppingCartEntriesChangedType.EntryUpdated: _entries[args.Index].Update(this.ShoppingCart.Entries[args.Index]); break; case ShoppingCartEntriesChangedType.EntriesReset: default: ResetEntries(); break; } }
/// <summary> /// Called when one of the entry's 'remove' button is clicked. /// </summary> public void OnEntryRemoveClick(ShoppingCartEntryViewModel entryViewModel) { this.ShoppingCart.Remove(entryViewModel.ProductViewModel.Product); }