Exemplo n.º 1
0
        public void OnCheck(BrandItem item)
        {
            if (item.Selected)
            {
                AddItem(item);
            }
            else
            {
                DeleteItem(item);
            }

            SearchCriteria.BrandComplited();
        }
Exemplo n.º 2
0
        private void Model_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (Model != null)
            {
                switch (e.PropertyName)
                {
                case nameof(Model.SelectedItem):
                    SearchCriteria.BrandComplited();
                    OnPropertyChanged(nameof(SelectedItem));
                    break;

                case nameof(Model.Entities):
                    OnPropertyChanged(nameof(Entities));
                    break;
                }
            }
        }
Exemplo n.º 3
0
        public void SelectEntities()
        {
            if (SearchCriteria != null)
            {
                try
                {
                    long brandId = SelectedItem?.Id ?? -1L;
                    Entities.Clear();
                    LongHolder position = new LongHolder {
                        Value = 0
                    };

                    List <BrandItem> loadedEntities =
                        GetItems().Select(x => new BrandItem(x)
                    {
                        Position = position.Value++
                    }).ToList();

                    if (SearchCriteria != null)
                    {
                        loadedEntities.ForEach(
                            x => x.Selected = SearchCriteria.SelectedBrandItems.Any(s => s.Id == x.Id && s.Selected));

                        SearchCriteria.BrandItems = loadedEntities;
                        SearchCriteria.SelectedBrandItems.Clear();
                        Entities.Where(x => x.Selected).ToList().ForEach(x => SearchCriteria.SelectedBrandItems.Add(x));
                    }

                    BrandItem brandItem = loadedEntities.FirstOrDefault(x => x != null && x.Id == brandId) ?? Entities.FirstOrDefault();

                    Application.Current.Dispatcher.Invoke(
                        () =>
                    {
                        Entities.AddRange(loadedEntities);
                        OnPropertyChanged(nameof(Entities));
                        SelectedItem = brandItem;
                        SearchCriteria.BrandComplited();
                    });
                }
                catch (Exception e)
                {
                    ;
                    //throw;
                }
            }
        }