/// <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 the 'Entries' list in the shopping cart changes. /// </summary> private void OnShoppingCartEntriesChangedCallback(ShoppingCart sender, ShoppingCartEntriesChangedEventArgs args) { _uiDispatcher.RunAsync( CoreDispatcherPriority.Normal, () => { OnShoppingCartEntriesChanged(sender, args); }); }
/// <summary> /// Called when the 'Entries' list has changed, so that listeners can be notified. /// </summary> private void RaiseEntriesChangedEvent(ShoppingCartEntriesChangedType type, int itemIndex = -1) { // Update 'CostsSummary' property. UpdateCostsSummary(); // Invoke public event. var args = new ShoppingCartEntriesChangedEventArgs(type, itemIndex); this.EntriesChanged?.Invoke(this, args); }
/// <summary> /// Called when the entries list in the shopping cart has been changed. /// </summary> private void ShoppingCartEntriesChanged(ShoppingCart sender, ShoppingCartEntriesChangedEventArgs args) { UpdateGeneratedFields(); }