public void OnCheck(BrandItem item) { if (item.Selected) { AddItem(item); } else { DeleteItem(item); } SearchCriteria.BrandComplited(); }
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; } } }
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; } } }