/// <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);
     });
 }
Esempio n. 3
0
        /// <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();
 }