private DataGridFilterState GetFilter()
 {
     if (Source.All(gr => gr.IsChecked.HasValue && gr.IsChecked.Value))
     {
         return(new DataGridFilterState
         {
             FilterInfo = new List <DataGridFilterInfo>
             {
                 new DataGridFilterInfo
                 {
                     FilterOperation = DataGridFilterOperation.All,
                     FilterType = DataGridFilterType.MultiValue,
                 }
             }
         });
     }
     else if (Source.All(gr => gr.IsChecked.HasValue && !gr.IsChecked.Value))
     {
         return(new DataGridFilterState
         {
             FilterInfo = new List <DataGridFilterInfo>
             {
                 new DataGridFilterInfo
                 {
                     FilterOperation = DataGridFilterOperation.None,
                     FilterType = DataGridFilterType.MultiValue,
                 }
             }
         });
     }
     else
     {
         var checkedItems = Source.Aggregate((IEnumerable <ProductElement>) new List <ProductElement>(), (accumulated, gr) => accumulated.Concat(gr.Children.Where(pe => pe.IsChecked))).Select(pe => pe.Product.ProductNumber).ToList();
         return(new DataGridFilterState
         {
             FilterInfo = new List <DataGridFilterInfo>
             {
                 new DataGridFilterInfo
                 {
                     FilterOperation = DataGridFilterOperation.IsOneOf,
                     FilterType = DataGridFilterType.MultiValue,
                     Value = checkedItems,
                 }
             }
         });
     }
 }
Exemple #2
0
 public double LinqAF() => Source.Aggregate(Seed, Func, ResultSelector);
Exemple #3
0
 public int LinqAF() => Source.Aggregate(Seed, Func);