Пример #1
0
        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);
        }
Пример #2
0
 public async Task <IEnumerable <SelectOption> > GetProductCategoriesAsync([Service] IProductCategoryResolver productCategoryResolver,
                                                                           ProductCategorySelectFilterModel criterias)
 {
     return(await productCategoryResolver.GetProductCategoriesAsync(criterias));
 }