public TagSortRule Add(Expression <TagGetter> getTags, params TagOrdering[] orderings) { var result = new TagSortRule(getTags, orderings); Rules.Add(result); return(result); }
/// <summary> /// Order query by <see cref="TagSortRule"/>. /// </summary> public static IQueryable <Tag> OrderBy(this IQueryable <Tag> query, TagSortRule sortRule, ContentLanguagePreference languagePreference) { switch (sortRule) { case TagSortRule.AdditionDate: return(query.OrderByDescending(t => t.CreateDate)); case TagSortRule.Name: return(query.OrderByEntryName(languagePreference)); case TagSortRule.UsageCount: return(query.OrderByDescending(t => t.UsageCount)); } return(query); }
/// <summary> /// Order query by <see cref="TagSortRule"/>. /// </summary> public static IQueryable <Tag> OrderBy(this IQueryable <Tag> query, TagSortRule sortRule, ContentLanguagePreference languagePreference) => sortRule switch {