Ejemplo n.º 1
0
        public PartialFindResult <TagForApiContract> GetList(
            string query                   = "",
            bool allowChildren             = true,
            string categoryName            = "",
            int start                      = 0, int maxResults = DefaultMax, bool getTotalCount = false,
            NameMatchMode nameMatchMode    = NameMatchMode.Exact,
            TagSortRule?sort               = null,
            bool preferAccurateMatches     = false,
            TagOptionalFields fields       = TagOptionalFields.None,
            ContentLanguagePreference lang = ContentLanguagePreference.Default,
            TagTargetTypes target          = TagTargetTypes.All)
        {
            maxResults = Math.Min(maxResults, fields != TagOptionalFields.None ? AbsoluteMax : int.MaxValue);
            var queryParams = new TagQueryParams(new CommonSearchParams(TagSearchTextQuery.Create(query, nameMatchMode), false, preferAccurateMatches),
                                                 new PagingProperties(start, maxResults, getTotalCount))
            {
                AllowChildren      = allowChildren,
                CategoryName       = categoryName,
                SortRule           = sort ?? TagSortRule.Name,
                LanguagePreference = lang,
                Target             = target
            };

            var tags = _queries.Find(queryParams, fields, lang);

            return(tags);
        }
Ejemplo n.º 2
0
        public static IQueryable <Tag> WhereHasTarget(this IQueryable <Tag> query, TagTargetTypes target)
        {
            if (target == TagTargetTypes.All)
            {
                return(query);
            }

            return(query.Where(t => (t.Targets & target) == target));
        }
        public static IQueryable <T> WhereTagHasTarget <T>(this IQueryable <T> query, TagTargetTypes target) where T : ITagLink
        {
            if (target == TagTargetTypes.All)
            {
                return(query);
            }

            return(query.Where(t => (t.Tag.Targets & target) == target));
        }
Ejemplo n.º 4
0
 public void Value(int expected, TagTargetTypes actual)
 {
     ((int)actual).Should().Be(expected);
 }