public List <StatisticsItem> GetStatistics(ICollection <IFilter> filters, SortingItem sorting) { var allStatistics = _statistics.GetAll(); foreach (var filter in filters) { filter.ApplyFilter(ref allStatistics); } ApplySorting(ref allStatistics, sorting); return(allStatistics.ToList()); }
private void ApplySorting(ref IQueryable <StatisticsItem> statistics, SortingItem sorting) { bool directionAscending = sorting.SortingDirection == SortingDirection.Ascending; statistics = sorting.SortingType switch { SortingType.DateSorting => directionAscending ? statistics.OrderBy(si => si.GameDate) : statistics.OrderByDescending(si => si.GameDate), SortingType.RemainingShipsSorting => directionAscending ? statistics.OrderBy(si => si.RemainingShips) : statistics.OrderByDescending(si => si.GameDate), }; }
public SortingSettings(SortingItem sorting) : this() { Items.Add(sorting); }