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); }
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)); }
public void Value(int expected, TagTargetTypes actual) { ((int)actual).Should().Be(expected); }