private List <Task> SortTasksByPriority(SortingDirections direction) { IOrderedEnumerable <Task> sortedTasks; if (direction == SortingDirections.ascending) { sortedTasks = from task in this.Tasks orderby task.PriorityLevel descending select task; } else if (direction == SortingDirections.descending) { sortedTasks = from task in this.Tasks orderby task.PriorityLevel ascending select task; } else { throw new ArgumentException("direction was not valid", "direction"); } return(sortedTasks.ToList <Task>()); }
/// <summary> /// Store the currently selected sort direction /// </summary> /// <param name="field"></param> /// <param name="sortDirection"></param> public static void StoreLastSortDirection(SortingFields field, SortingDirections sortDirection) { bool isAscending = sortDirection == SortingDirections.Ascending; switch (field) { case SortingFields.VideoTitle: DBSortPreferences.Instance.SortVideoTitleAscending = isAscending; break; case SortingFields.Artist: DBSortPreferences.Instance.SortArtistAscending = isAscending; break; case SortingFields.Album: DBSortPreferences.Instance.SortAlbumAscending = isAscending; break; case SortingFields.DateAdded: DBSortPreferences.Instance.SortDateAddedAscending = isAscending; break; case SortingFields.Runtime: DBSortPreferences.Instance.SortRuntimeAscending = isAscending; break; case SortingFields.MostPlayedArtists: DBSortPreferences.Instance.SortMostPlayedArtistsAscending = isAscending; break; case SortingFields.MostPlayedVideos: DBSortPreferences.Instance.SortMostPlayedVideosAscending = isAscending; break; case SortingFields.LeastPlayedArtists: DBSortPreferences.Instance.SortLeastPlayedArtistsAscending = isAscending; break; case SortingFields.LeastPlayedVideos: DBSortPreferences.Instance.SortLeastPlayedVideosAscending = isAscending; break; case SortingFields.AlbumReleaseDate: DBSortPreferences.Instance.SortAlbumReleaseDateAscending = isAscending; break; case SortingFields.Composer: DBSortPreferences.Instance.SortComposerAscending = isAscending; break; default: break; } if (DBSortPreferences.Instance.CommitNeeded) { DBSortPreferences.Instance.Commit(); } }
/// <summary> /// Constructor for GUIListItemMovieComparer /// </summary> /// <param name="sortField">The database field to sort by</param> /// <param name="sortDirection">The direction to sort by</param> public GUIListItemVideoComparer(SortingFields sortField, SortingDirections sortDirection) { _sortField = sortField; _sortDirection = sortDirection; Sort.StoreLastSortDirection(sortField, sortDirection); logger.Info("Sort Field: {0} Sort Direction: {1}", sortField, sortDirection); }
/// <summary> /// Sort input by ThenBy method the movies with sorting direction provided by parameter. /// </summary> /// <param name="dirrection">Sorting direction: {Ascending, Descending}.</param> /// <param name="movies">The movies.</param> /// <returns> /// IOrderedEnumerable of MovieDto /// </returns> public IOrderedEnumerable <MovieDto> ThenBy(SortingDirections dirrection, IOrderedEnumerable <MovieDto> movies) { if (dirrection == SortingDirections.Ascending) { return(movies.ThenBy(m => m.ReleaseDate)); } return(movies.ThenByDescending(m => m.ReleaseDate)); }
/// <summary> /// Sort input movies with sorting direction provided by parameter. /// </summary> /// <param name="direction">Sorting direction: {Ascending, Descending}.</param> /// <param name="movies">The movies.</param> /// <returns>IOrderedEnumerable of MovieDto</returns> public IOrderedEnumerable <MovieDto> OrderBy(SortingDirections direction, List <MovieDto> movies) { if (direction == SortingDirections.Ascending) { return(movies.OrderBy(m => m.MovieId)); } return(movies.OrderByDescending(m => m.MovieId)); }
public static void StoreLastSortDirection(SortingFields field, SortingDirections sortDirection) { bool isAscending = sortDirection == SortingDirections.Ascending; switch (field) { case SortingFields.Title: DBSortPreferences.Instance.SortTitleAscending = isAscending; break; case SortingFields.DateAdded: DBSortPreferences.Instance.SortDateAddedAscending = isAscending; break; case SortingFields.ReleaseDate: DBSortPreferences.Instance.SortReleaseDateAscending = isAscending; break; case SortingFields.Year: DBSortPreferences.Instance.SortYearAscending = isAscending; break; case SortingFields.Certification: DBSortPreferences.Instance.SortCertificationAscending = isAscending; break; case SortingFields.Language: DBSortPreferences.Instance.SortLanguageAscending = isAscending; break; case SortingFields.Score: DBSortPreferences.Instance.SortScoreAscending = isAscending; break; case SortingFields.Runtime: DBSortPreferences.Instance.SortRuntimeAscending = isAscending; break; case SortingFields.FilePath: DBSortPreferences.Instance.SortFilePathAscending = isAscending; break; case SortingFields.FileSize: DBSortPreferences.Instance.SortFileSizeAscending = isAscending; break; default: break; } if (DBSortPreferences.Instance.CommitNeeded) { DBSortPreferences.Instance.Commit(); } }
public static IOrderedQueryable <T> OrderBy <T, TKey>( this IQueryable <T> queryable, Expression <Func <T, TKey> > selector, SortingDirections directions) { return(directions switch { SortingDirections.Ascending => queryable.OrderBy(selector), SortingDirections.Descending => queryable.OrderByDescending(selector), _ => throw new ArgumentOutOfRangeException(nameof(directions), directions, null) });
public GUIListItemMovieSorter(SortingFields sortField, SortingDirections sortDirection) { _sortField = sortField; _sortDirection = sortDirection; }