public async Task <Result <GuideDescription[]> > SearchByTagsAsync(string[] tags, int take = 50, int skip = 0) { IFilter filter = null; if (tags != null) { var filters = tags.Select(x => (IFilter) new ComparisonFilter("tags", x, ComparisonOperator.Contains)) .ToArray(); filter = new LogicalFilter(LogicalOperator.And, filters); } var guides = await guideRepository.SearchAsync(filter, take, skip); return(Result <GuideDescription[]> .Success(MapGuideDescriptions(guides))); }