public IQueryable <TemplateAsset> GetResultWithoutFilter <T>(IFilter <T> filter) { var result = Base; foreach (var f in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter)).Except(new[] { filter })) { result = f.FilterFunc(result); } return(result); }
public void SetItems() { var result = Base; foreach (var filter in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter))) { result = filter.FilterFunc(result); } //result = result.OrderBy(s => s.Text); Items = result.ToList(); }
public IEnumerable <TemplateAsset> GetResultWithoutFilter <T>(IFilter <T> filter) { IEnumerable <TemplateAsset> result = null; foreach (var f in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter)).Except(new[] { filter })) { if (f.SavedItems != null) { result = result == null ? f.SavedItems : result.Intersect(f.SavedItems); } } if (result == null) { result = Base; } return(result); }
public void UpdateUI(IFilter filter = null) { if (!IsRefreshingUi) { SetItems(); this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Items")); if (filter == null) { foreach (var item in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter))) { item.UpdateUI(); } } else { foreach (var item in StandardFilters.Values.Concat(CustomFilters.Where(cf => cf.SelectedFilter != null).Select(cf => cf.SelectedFilter).Except(new[] { filter }))) { item.UpdateUI(); } } } }