public IEnumerable <SelectOption> GetArticleCategories(ArticleCategorySelectFilterModel criterias) { if (criterias == null) { criterias = new ArticleCategorySelectFilterModel(); } var filter = new BaseFilter { Keyword = criterias.Query, PageSize = _pagerOptions.PageSize, Page = _defaultPageSelection }; IList <ArticleCategoryResult> categories; if (criterias.IsParentOnly.HasValue && criterias.IsParentOnly.GetValueOrDefault()) { categories = _articleCategoryService.SearchParents(new IdRequestFilter <int?> { Id = criterias.CurrentId }, filter); } else { categories = _articleCategoryService.Search(new IdRequestFilter <int?> { Id = criterias.CurrentId }, filter); } if (categories == null || !categories.Any()) { return(new List <SelectOption>()); } var categorySeletions = categories .Select(x => new SelectOption { Id = x.Id.ToString(), Text = x.ParentId.HasValue ? $"-- {x.Name}" : x.Name }); return(categorySeletions); }
public IEnumerable <SelectOption> GetArticleCategories([Service] IArticleCategoryResolver articleCategoryResolver, ArticleCategorySelectFilterModel criterias) { return(articleCategoryResolver.GetArticleCategories(criterias)); }