public async Task <IEnumerable <SelectOption> > GetProductCategoriesAsync(ProductCategorySelectFilterModel criterias) { if (criterias == null) { criterias = new ProductCategorySelectFilterModel(); } IList <ProductCategoryResult> categories; var filter = new BaseFilter { Keyword = criterias.Query, PageSize = _pagerOptions.PageSize, Page = _defaultPageSelection }; if (criterias.IsParentOnly.HasValue && criterias.IsParentOnly.GetValueOrDefault()) { categories = await _productCategoryService.SearchParentsAsync(filter, criterias.CurrentIds); } else { categories = await _productCategoryService.SearchAsync(filter, criterias.CurrentIds); } 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 async Task <IEnumerable <SelectOption> > GetProductCategoriesAsync([Service] IProductCategoryResolver productCategoryResolver, ProductCategorySelectFilterModel criterias) { return(await productCategoryResolver.GetProductCategoriesAsync(criterias)); }