Пример #1
0
        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);
        }
Пример #3
0
 /// <summary>
 /// Order query by <see cref="TagSortRule"/>.
 /// </summary>
 public static IQueryable <Tag> OrderBy(this IQueryable <Tag> query, TagSortRule sortRule, ContentLanguagePreference languagePreference) => sortRule switch
 {