Esempio n. 1
0
        protected override void OnSelectionMessageReceived(FiltersSelectionChangedMessage msg)
        {
            if (this.Id != msg.FilterId)
            {
                return;
            }

            var newSelectedValues = msg.ApplyedFilterValues;

            if (newSelectedValues.IsNullOrEmpty())
            {
                ClearSelectedValue();
            }
            else
            {
                SelectedValue = new ApplyedFilter
                {
                    Id       = this.Id,
                    DataType = this.DataType,
                    Values   = newSelectedValues
                };

                Items = new ObservableCollection <MultiCollectionItemVM>(Values
                                                                         .Where(x => newSelectedValues.Any(y => y.Id == x.Id))
                                                                         .Select(z => new MultiCollectionItemVM(z.Id, z.ValueName))
                                                                         );
            }

            Messenger.Publish(new FiltersReloadWhenValueChangedMessage(this));
        }
Esempio n. 2
0
        protected override void OnSelectionMessageReceived(FiltersSelectionChangedMessage msg)
        {
            if (this.Id != msg.FilterId)
            {
                return;
            }

            var newSelectedValue = msg.ApplyedFilterValues?.SingleOrDefault();

            if (newSelectedValue == null)
            {
                ClearSelectedValue();
            }
            else
            {
                var filterValue = Values.FirstOrDefault(x => x.Id == newSelectedValue.Id);
                if (filterValue != null)
                {
                    ValueName     = filterValue.ValueName;
                    SelectedValue = new ApplyedFilter
                    {
                        Id       = this.Id,
                        DataType = this.DataType,
                        Values   = new List <ApplyedFilterValue> {
                            newSelectedValue
                        }
                    };
                }
            }

            Messenger.Publish(new FiltersReloadWhenValueChangedMessage(this));
        }
Esempio n. 3
0
 protected abstract void OnSelectionMessageReceived(FiltersSelectionChangedMessage msg);