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, } } }); } }
public double LinqAF() => Source.Aggregate(Seed, Func, ResultSelector);
public int LinqAF() => Source.Aggregate(Seed, Func);