Пример #1
0
 private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (e.NewItems != null)
     {
         if (AddedItems == null)
         {
             AddedItems = new List <object>(e.NewItems.Count);
         }
         foreach (var item in e.NewItems)
         {
             AddedItems.Add(item);
         }
     }
     if (e.OldItems != null)
     {
         if (RemovedItems == null)
         {
             RemovedItems = new List <object>(e.OldItems.Count);
         }
         foreach (var item in e.OldItems)
         {
             RemovedItems.Add(item);
         }
     }
 }
Пример #2
0
        private void RaiseLanguageRemoveInteractionRequest(GeneralLanguage selectedItem)
        {
            var confirmation = new ConditionalConfirmation
            {
                Title   = "Remove confirmation".Localize(null, LocalizationScope.DefaultCategory),
                Content = string.Format("Are you sure you want to remove Language '{0}'?".Localize(), selectedItem.LanguageCode)
            };

            LanguageCommonConfirmRequest.Raise(confirmation,
                                               (x) =>
            {
                if (x.Confirmed)
                {
                    if (AddedItems.Contains(selectedItem))
                    {
                        AddedItems.Remove(selectedItem);
                    }
                    else
                    {
                        if (UpdatedItems.Contains(selectedItem))
                        {
                            UpdatedItems.Remove(selectedItem);
                        }
                        RemovedItems.Add(selectedItem);
                    }
                    InnerItems.Remove(selectedItem);
                }
            });
        }
Пример #3
0
        /// <summary>
        /// Rebuild the binding chain to establish property change monitoring,
        /// additionally setting up collection change event listening on the
        /// source object (if it is a collection)
        /// </summary>
        public override void RefreshBinding()
        {
            base.RefreshBinding();

            object newValue = GetBoundValue();

            if (newValue != _Collection)
            {
                // Remove collectionchanged event watcher:
                if (_Collection != null)
                {
                    _Collection.CollectionChanged -= CollectionChanged;
                    if (_Collection is IEnumerable)
                    {
                        // Remove items from the old collection:
                        var enumerable = (IEnumerable)_Collection;
                        if (RemovedItems == null)
                        {
                            RemovedItems = new List <object>();
                        }
                        foreach (var item in enumerable)
                        {
                            RemovedItems.Add(item);
                        }
                    }
                }

                // Add collectionchanged event watcher:
                if (newValue != null && newValue is INotifyCollectionChanged)
                {
                    var newCollection = (INotifyCollectionChanged)newValue;
                    newCollection.CollectionChanged += CollectionChanged;
                    _Collection = newCollection;
                    if (newCollection is IEnumerable)
                    {
                        // Add items from the new collection:
                        var enumerable = (IEnumerable)newCollection;
                        if (AddedItems == null)
                        {
                            AddedItems = new List <object>();
                        }
                        foreach (var item in enumerable)
                        {
                            AddedItems.Add(item);
                        }
                    }
                }
                else
                {
                    _Collection = null;
                }
            }
        }
Пример #4
0
 private async Task RemoveItems()
 {
     if (SelectedItems.Count > 0)
     {
         for (int i = SelectedItems.Count; i > 0; i--)
         {
             if (SelectedItems[i - 1].FileId > 0)
             {
                 //if saved, add it to RemovedItems collection for further removal
                 RemovedItems.Add(SelectedItems[i - 1]);
             }
             Items.Remove(SelectedItems[i - 1]);
             SelectedItems.Remove(SelectedItems[i - 1]);
         }
     }
 }
Пример #5
0
 public void Remove(T item)
 {
     if (AddedItems.Contains(item))
     {
         AddedItems.Remove(item);
     }
     else
     {
         if (UpdatedItems.Contains(item))
         {
             UpdatedItems.Remove(item);
         }
         RemovedItems.Add(item);
     }
     InnerItems.Remove(item);
     item.PropertyChanged -= OnPropertyChanged;
 }
        /// <summary>
        /// Currents the items collection changed.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param>
        private void CurrentItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            CollectionChanged(sender, e);

            if (e.Action == NotifyCollectionChangedAction.Remove)
            {
                foreach (var oldItem in e.OldItems)
                {
                    var oldItemT = ( T )oldItem;
                    RemovedItems.Add(oldItemT);
                }

                if (SoftDeleted != null)
                {
                    SoftDeleted(this, new SoftDeletedEventArgs(e.OldItems));
                }
            }
        }
Пример #7
0
 private void RemoveItemPricing()
 {
     if (listBox1.SelectedItem != null)
     {
         int index = listBox1.SelectedIndex;
         FormattedListBoxItem pricing = (FormattedListBoxItem)listBox1.SelectedItem;
         ItemPricingModel     model   = (ItemPricingModel)pricing.ReferenceObject;
         if (model.Id == 0)
         {
             NewItems.Remove(model);
         }
         else
         {
             RemovedItems.Add(model);
         }
         listBox1.Items.Remove(pricing);
         ClearFields();
         DoChangedValueEvent();
         InitializeListBox(index);
     }
 }