public static string GetTextForEnum_SortDirection(GroupFilterSortDirection sort) { switch (sort) { case GroupFilterSortDirection.Asc: return "Asc"; case GroupFilterSortDirection.Desc: return "Desc"; default: return "Asc"; } }
public static string GetTextForEnum_SortDirection(GroupFilterSortDirection sort) { switch (sort) { case GroupFilterSortDirection.Asc: return(Properties.Resources.GroupFilterSortDirection_Asc); case GroupFilterSortDirection.Desc: return(Properties.Resources.GroupFilterSortDirection_Desc); default: return(Properties.Resources.GroupFilterSortDirection_Asc); } }
public static string GetTextForEnum_SortDirection(GroupFilterSortDirection sort) { switch (sort) { case GroupFilterSortDirection.Asc: return("Asc"); case GroupFilterSortDirection.Desc: return("Desc"); default: return("Asc"); } }
public static bool DialogSelectGFQuickSort(ref string sortType, ref GroupFilterSortDirection sortDirection, string previousMenu) { //show the selection dialog GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return(false); } List <string> sortTypes = GroupFilterHelper.GetQuickSortTypes(); while (true) { dlg.Reset(); dlg.SetHeading(Translation.QuickSort); dlg.Add("<<< " + previousMenu); string menu = string.Format("{1} ({0}) >>>", sortDirection == GroupFilterSortDirection.Asc ? Translation.Asc : Translation.Desc, Translation.SortDirection); dlg.Add(menu); int index = 0; foreach (string srt in sortTypes) { dlg.Add(srt); index++; } dlg.DoModal(GUIWindowManager.ActiveWindow); int selection = dlg.SelectedLabel; if (selection <= 0) { return(true); } if (selection == 1) { DialogSelectGFQuickSortDirection(ref sortDirection, Translation.QuickSort); // display quick sort again } else { sortType = sortTypes[selection - 2]; return(false); } } }
private static IOrderedEnumerable <CL_AnimeGroup_User> Order <T>(IEnumerable <CL_AnimeGroup_User> groups, Func <CL_AnimeGroup_User, T> o, GroupFilterSortDirection direc, bool isfirst) { if (isfirst) { return(direc == GroupFilterSortDirection.Asc ? groups.OrderBy(o) : groups.OrderByDescending(o)); } return(direc == GroupFilterSortDirection.Asc ? ((IOrderedEnumerable <CL_AnimeGroup_User>)groups).ThenBy(o) : ((IOrderedEnumerable <CL_AnimeGroup_User>)groups).ThenByDescending(o)); }
private static IOrderedEnumerable <Contract_AnimeGroup> Order <T>(IEnumerable <Contract_AnimeGroup> groups, Func <Contract_AnimeGroup, T> o, GroupFilterSortDirection direc, bool isfirst) { if (isfirst) { if (direc == GroupFilterSortDirection.Asc) { return(groups.OrderBy(o)); } return(groups.OrderByDescending(o)); } else { if (direc == GroupFilterSortDirection.Asc) { return(((IOrderedEnumerable <Contract_AnimeGroup>)groups).ThenBy(o)); } return(((IOrderedEnumerable <Contract_AnimeGroup>)groups).ThenByDescending(o)); } }
public static bool DialogSelectGFQuickSortDirection(ref GroupFilterSortDirection sortDirection, string previousMenu) { //show the selection dialog GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return(false); } dlg.Reset(); dlg.SetHeading("Sort Direction"); dlg.Add("<<< " + previousMenu); dlg.Add("Ascending"); dlg.Add("Descending"); dlg.DoModal(GUIWindowManager.ActiveWindow); int selection = dlg.SelectedLabel; if (selection <= 0) { return(true); } if (selection == 1) { sortDirection = GroupFilterSortDirection.Asc; } if (selection == 2) { sortDirection = GroupFilterSortDirection.Desc; } return(true); }
public static SortPropOrFieldAndDirection GetSortDescription(GroupFilterSorting sortType, GroupFilterSortDirection sortDirection) { string sortColumn = ""; bool sortDescending = sortDirection == GroupFilterSortDirection.Desc; SortType sortFieldType = SortType.eString; switch (sortType) { case GroupFilterSorting.AniDBRating: sortColumn = "AniDBRating"; sortFieldType = SortType.eDoubleOrFloat; break; case GroupFilterSorting.EpisodeAddedDate: sortColumn = "EpisodeAddedDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.EpisodeAirDate: sortColumn = "AirDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.EpisodeWatchedDate: sortColumn = "WatchedDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.GroupName: sortColumn = "GroupName"; sortFieldType = SortType.eString; break; case GroupFilterSorting.SortName: sortColumn = "SortName"; sortFieldType = SortType.eString; break; case GroupFilterSorting.MissingEpisodeCount: sortColumn = "MissingEpisodeCount"; sortFieldType = SortType.eInteger; break; case GroupFilterSorting.SeriesAddedDate: sortColumn = "Stat_SeriesCreatedDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.SeriesCount: sortColumn = "AllSeriesCount"; sortFieldType = SortType.eInteger; break; case GroupFilterSorting.UnwatchedEpisodeCount: sortColumn = "UnwatchedEpisodeCount"; sortFieldType = SortType.eInteger; break; case GroupFilterSorting.UserRating: sortColumn = "Stat_UserVoteOverall"; sortFieldType = SortType.eDoubleOrFloat; break; case GroupFilterSorting.Year: if (sortDirection == GroupFilterSortDirection.Asc) sortColumn = "Stat_AirDate_Min"; else sortColumn = "Stat_AirDate_Max"; sortFieldType = SortType.eDateTime; break; default: sortColumn = "GroupName"; sortFieldType = SortType.eString; break; } return new SortPropOrFieldAndDirection(sortColumn, sortDescending, sortFieldType); }
public static SortDescription GetSortDescription(GroupFilterSorting sortType, GroupFilterSortDirection sortDirection) { string sortColumn = ""; ListSortDirection sortd = ListSortDirection.Ascending; switch (sortType) { case GroupFilterSorting.AniDBRating: sortColumn = "AniDBRating"; break; case GroupFilterSorting.EpisodeAddedDate: sortColumn = "EpisodeAddedDate"; break; case GroupFilterSorting.EpisodeAirDate: sortColumn = "AirDate"; break; case GroupFilterSorting.EpisodeWatchedDate: sortColumn = "WatchedDate"; break; case GroupFilterSorting.GroupName: sortColumn = "GroupName"; break; case GroupFilterSorting.SortName: sortColumn = "SortName"; break; case GroupFilterSorting.MissingEpisodeCount: sortColumn = "MissingEpisodeCount"; break; case GroupFilterSorting.SeriesAddedDate: sortColumn = "Stat_SeriesCreatedDate"; break; case GroupFilterSorting.SeriesCount: sortColumn = "AllSeriesCount"; break; case GroupFilterSorting.UnwatchedEpisodeCount: sortColumn = "UnwatchedEpisodeCount"; break; case GroupFilterSorting.UserRating: sortColumn = "Stat_UserVoteOverall"; break; case GroupFilterSorting.Year: if (sortDirection == GroupFilterSortDirection.Asc) { sortColumn = "Stat_AirDate_Min"; } else { sortColumn = "Stat_AirDate_Max"; } break; default: sortColumn = "GroupName"; break; } if (sortDirection == GroupFilterSortDirection.Asc) { sortd = ListSortDirection.Ascending; } else { sortd = ListSortDirection.Descending; } return(new SortDescription(sortColumn, sortd)); }
public static SortPropOrFieldAndDirection GetSortDescription(GroupFilterSorting sortType, GroupFilterSortDirection sortDirection) { string sortColumn = ""; bool sortDescending = sortDirection == GroupFilterSortDirection.Desc; SortType sortFieldType = SortType.eString; switch (sortType) { case GroupFilterSorting.AniDBRating: sortColumn = "AniDBRating"; sortFieldType = SortType.eDoubleOrFloat; break; case GroupFilterSorting.EpisodeAddedDate: sortColumn = "EpisodeAddedDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.EpisodeAirDate: sortColumn = "AirDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.EpisodeWatchedDate: sortColumn = "WatchedDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.GroupName: sortColumn = "GroupName"; sortFieldType = SortType.eString; break; case GroupFilterSorting.SortName: sortColumn = "SortName"; sortFieldType = SortType.eString; break; case GroupFilterSorting.MissingEpisodeCount: sortColumn = "MissingEpisodeCount"; sortFieldType = SortType.eInteger; break; case GroupFilterSorting.SeriesAddedDate: sortColumn = "Stat_SeriesCreatedDate"; sortFieldType = SortType.eDateTime; break; case GroupFilterSorting.SeriesCount: sortColumn = "AllSeriesCount"; sortFieldType = SortType.eInteger; break; case GroupFilterSorting.UnwatchedEpisodeCount: sortColumn = "UnwatchedEpisodeCount"; sortFieldType = SortType.eInteger; break; case GroupFilterSorting.UserRating: sortColumn = "Stat_UserVoteOverall"; sortFieldType = SortType.eDoubleOrFloat; break; case GroupFilterSorting.Year: if (sortDirection == GroupFilterSortDirection.Asc) { sortColumn = "Stat_AirDate_Min"; } else { sortColumn = "Stat_AirDate_Max"; } sortFieldType = SortType.eDateTime; break; default: sortColumn = "GroupName"; sortFieldType = SortType.eString; break; } return(new SortPropOrFieldAndDirection(sortColumn, sortDescending, sortFieldType)); }
public static IQueryable <T> GeneratePredicate <T>(this IQueryable <T> lst, GroupFilterSorting sortType, GroupFilterSortDirection sortDirection) where T : CL_AnimeGroup_User { Expression <Func <T, dynamic> > selector; switch (sortType) { case GroupFilterSorting.AniDBRating: selector = c => c.Stat_AniDBRating; break; case GroupFilterSorting.EpisodeAddedDate: selector = c => c.EpisodeAddedDate; break; case GroupFilterSorting.EpisodeAirDate: selector = c => c.LatestEpisodeAirDate; break; case GroupFilterSorting.EpisodeWatchedDate: selector = c => c.WatchedDate; break; case GroupFilterSorting.GroupName: selector = c => c.GroupName; break; case GroupFilterSorting.SortName: selector = c => c.SortName; break; case GroupFilterSorting.MissingEpisodeCount: selector = c => c.MissingEpisodeCount; break; case GroupFilterSorting.SeriesAddedDate: selector = c => c.Stat_SeriesCreatedDate; break; case GroupFilterSorting.SeriesCount: selector = c => c.Stat_SeriesCount; break; case GroupFilterSorting.UnwatchedEpisodeCount: selector = c => c.UnwatchedEpisodeCount; break; case GroupFilterSorting.UserRating: selector = c => c.Stat_UserVoteOverall; break; case GroupFilterSorting.Year: if (sortDirection == GroupFilterSortDirection.Asc) { selector = c => c.Stat_AirDate_Min; } else { selector = c => c.Stat_AirDate_Max; } break; default: selector = c => c.GroupName; break; } if (lst is IOrderedQueryable <T> ) { IOrderedQueryable <T> n = (IOrderedQueryable <T>)lst; if (sortDirection != GroupFilterSortDirection.Asc) { return(n.ThenByDescending(selector)); } return(n.ThenBy(selector)); } if (sortDirection != GroupFilterSortDirection.Asc) { return(lst.OrderByDescending(selector)); } return(lst.OrderBy(selector)); }
public static KeyValuePair <string, bool> GetSortDescription(this GroupFilterSorting sortType, GroupFilterSortDirection sortDirection) { string sortColumn = ""; bool srt = false; switch (sortType) { case GroupFilterSorting.AniDBRating: sortColumn = ((Expression <Func <CL_AnimeGroup_User, decimal> >)(c => c.Stat_AniDBRating)).ToName(); break; case GroupFilterSorting.EpisodeAddedDate: sortColumn = ((Expression <Func <CL_AnimeGroup_User, DateTime?> >)(c => c.EpisodeAddedDate)).ToName(); break; case GroupFilterSorting.EpisodeAirDate: sortColumn = ((Expression <Func <CL_AnimeGroup_User, DateTime?> >)(c => c.LatestEpisodeAirDate)).ToName(); break; case GroupFilterSorting.EpisodeWatchedDate: sortColumn = ((Expression <Func <CL_AnimeGroup_User, DateTime?> >)(c => c.WatchedDate)).ToName(); break; case GroupFilterSorting.GroupName: sortColumn = ((Expression <Func <CL_AnimeGroup_User, string> >)(c => c.GroupName)).ToName(); break; case GroupFilterSorting.SortName: sortColumn = ((Expression <Func <CL_AnimeGroup_User, string> >)(c => c.SortName)).ToName(); break; case GroupFilterSorting.MissingEpisodeCount: sortColumn = ((Expression <Func <CL_AnimeGroup_User, int> >)(c => c.MissingEpisodeCount)).ToName(); break; case GroupFilterSorting.SeriesAddedDate: sortColumn = ((Expression <Func <CL_AnimeGroup_User, DateTime?> >)(c => c.Stat_SeriesCreatedDate)).ToName(); break; case GroupFilterSorting.SeriesCount: sortColumn = ((Expression <Func <CL_AnimeGroup_User, int> >)(c => c.Stat_SeriesCount)).ToName(); break; case GroupFilterSorting.UnwatchedEpisodeCount: sortColumn = ((Expression <Func <CL_AnimeGroup_User, int> >)(c => c.UnwatchedEpisodeCount)).ToName(); break; case GroupFilterSorting.UserRating: sortColumn = ((Expression <Func <CL_AnimeGroup_User, decimal?> >)(c => c.Stat_UserVoteOverall)).ToName(); break; case GroupFilterSorting.Year: sortColumn = sortDirection == GroupFilterSortDirection.Asc ? ((Expression <Func <CL_AnimeGroup_User, DateTime?> >)(c => c.Stat_AirDate_Min)).ToName() : ((Expression <Func <CL_AnimeGroup_User, DateTime?> >)(c => c.Stat_AirDate_Max)).ToName(); break; case GroupFilterSorting.GroupFilterName: sortColumn = ((Expression <Func <CL_GroupFilter, string> >)(c => c.GroupFilterName)).ToName(); break; default: sortColumn = ((Expression <Func <CL_AnimeGroup_User, string> >)(c => c.GroupName)).ToName(); break; } if (sortDirection != GroupFilterSortDirection.Asc) { srt = true; } return(new KeyValuePair <string, bool>(sortColumn, srt)); }
public static string GetTextForEnum_SortDirection(GroupFilterSortDirection sort) { switch (sort) { case GroupFilterSortDirection.Asc: return Properties.Resources.GroupFilterSortDirection_Asc; case GroupFilterSortDirection.Desc: return Properties.Resources.GroupFilterSortDirection_Desc; default: return Properties.Resources.GroupFilterSortDirection_Asc; } }
public static SortDescription GetSortDescription(GroupFilterSorting sortType, GroupFilterSortDirection sortDirection) { string sortColumn = ""; ListSortDirection sortd = ListSortDirection.Ascending; switch (sortType) { case GroupFilterSorting.AniDBRating: sortColumn = "AniDBRating"; break; case GroupFilterSorting.EpisodeAddedDate: sortColumn = "EpisodeAddedDate"; break; case GroupFilterSorting.EpisodeAirDate: sortColumn = "AirDate"; break; case GroupFilterSorting.EpisodeWatchedDate: sortColumn = "WatchedDate"; break; case GroupFilterSorting.GroupName: sortColumn = "GroupName"; break; case GroupFilterSorting.SortName: sortColumn = "SortName"; break; case GroupFilterSorting.MissingEpisodeCount: sortColumn = "MissingEpisodeCount"; break; case GroupFilterSorting.SeriesAddedDate: sortColumn = "Stat_SeriesCreatedDate"; break; case GroupFilterSorting.SeriesCount: sortColumn = "AllSeriesCount"; break; case GroupFilterSorting.UnwatchedEpisodeCount: sortColumn = "UnwatchedEpisodeCount"; break; case GroupFilterSorting.UserRating: sortColumn = "Stat_UserVoteOverall"; break; case GroupFilterSorting.Year: if (sortDirection == GroupFilterSortDirection.Asc) sortColumn = "Stat_AirDate_Min"; else sortColumn = "Stat_AirDate_Max"; break; default: sortColumn = "GroupName"; break; } if (sortDirection == GroupFilterSortDirection.Asc) sortd = ListSortDirection.Ascending; else sortd = ListSortDirection.Descending; return new SortDescription(sortColumn, sortd); }
public static bool DialogSelectGFQuickSortDirection(ref GroupFilterSortDirection sortDirection, string previousMenu) { //show the selection dialog GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) return false; dlg.Reset(); dlg.SetHeading("Sort Direction"); dlg.Add("<<< " + previousMenu); dlg.Add("Ascending"); dlg.Add("Descending"); dlg.DoModal(GUIWindowManager.ActiveWindow); int selection = dlg.SelectedLabel; if (selection <= 0) return true; if (selection == 1) sortDirection = GroupFilterSortDirection.Asc; if (selection == 2) sortDirection = GroupFilterSortDirection.Desc; return true; }
public static bool DialogSelectGFQuickSort(ref string sortType, ref GroupFilterSortDirection sortDirection, string previousMenu) { //show the selection dialog GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) return false; List<string> sortTypes = GroupFilterHelper.GetQuickSortTypes(); while (true) { dlg.Reset(); dlg.SetHeading("Quick Sort"); dlg.Add("<<< " + previousMenu); string menu = string.Format("Sort Direction ({0}) >>>", sortDirection == GroupFilterSortDirection.Asc ? "Asc" : "Desc"); dlg.Add(menu); int index = 0; foreach (string srt in sortTypes) { dlg.Add(srt); index++; } dlg.DoModal(GUIWindowManager.ActiveWindow); int selection = dlg.SelectedLabel; if (selection <= 0) return true; if (selection == 1) { Utils.DialogSelectGFQuickSortDirection(ref sortDirection, "Quick Sort"); // display quick sort again } else { sortType = sortTypes[selection - 2]; return false; } } }