示例#1
0
        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);
        }
示例#2
0
        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();
        }
示例#3
0
        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);
        }
示例#4
0
 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();
             }
         }
     }
 }