예제 #1
0
        public RetailerProductFilterResult GetRetailerProductFilter()
        {
            var retailerProductFilterResult = new RetailerProductFilterResult();

            var currentUser      = ClaimsPrincipal.Current.Identity.Name;
            var retailer         = _unitOfWork.SellerRepository.GetRetailerInfo(currentUser);
            var categoryQuery    = ProductHelper.GetAllCategory(currentUser);
            var parentCategories = _unitOfWork.ExecuteQuery <CategoryFilterDTO>(categoryQuery).ToList();

            if (parentCategories.Count == 0)
            {
                retailerProductFilterResult = _unitOfWork.CategoryRepository.GetRetailerProductFilterResult(retailerProductFilterResult);
            }
            else
            {
                var subCategoryQuery  = ProductHelper.GetAllSubCategory(currentUser);
                var subCategoryFilter = _unitOfWork.ExecuteQuery <SubCategoryFilterDTO>(subCategoryQuery).ToList();
                retailerProductFilterResult.CategoryFilter = parentCategories.Select(cf => new CategoryFilterDTO {
                    CategoryId = cf.CategoryId, Name = cf.Name
                })
                                                             .ToList <CategoryFilterDTO>();
                retailerProductFilterResult.SubCategoryFilter = subCategoryFilter;
            }


            retailerProductFilterResult.Brands = _unitOfWork.ManufacturerRepository.GetBrands();
            return(retailerProductFilterResult);
        }
예제 #2
0
        public static RetailerProductFilterResult GetRetailerProductFilterResult(this IGenericRepository <Category> categoryRepository,
                                                                                 RetailerProductFilterResult retailerProductFilterResult)
        {
            var parentCategories  = GetAllCategory(categoryRepository);
            var subCategoryFilter = GetAllSubCategory(categoryRepository);

            retailerProductFilterResult.CategoryFilter = parentCategories.Select(cf => new CategoryFilterDTO {
                CategoryId = cf.CategoryId, Name = cf.Name
            })
                                                         .ToList <CategoryFilterDTO>();
            retailerProductFilterResult.SubCategoryFilter = subCategoryFilter;

            return(retailerProductFilterResult);
        }
예제 #3
0
        public RetailerProductFilterResult GetStoresProductFilter(int storeId, int productId)
        {
            var retailerProductFilterResult = new RetailerProductFilterResult();
            var storeCategoryQuery          = _unitOfWork.CategoryRepository.GetStoresCategoryQuery(storeId);
            var categoryList = _unitOfWork.ExecuteQuery <int>(storeCategoryQuery).ToList <int>();

            var selectedSubCategory = _unitOfWork.ProductRepository.Find(x => x.ProductId == productId).Select(y => y.Category).FirstOrDefault <int>();
            var selectedCategory    = _unitOfWork.CategoryRepository.Find(x => x.CategoryId == selectedSubCategory).Select(y => y.ParentCategoryId).FirstOrDefault <int?>();

            retailerProductFilterResult.SelectedFilters = new RetailerProductSelectedFilter {
                SelectedCategory = selectedCategory, SelectedSubCategory = selectedSubCategory
            };


            retailerProductFilterResult        = _unitOfWork.CategoryRepository.GetRetailerProductFilterResult(retailerProductFilterResult, categoryList);
            retailerProductFilterResult.Brands = _unitOfWork.ManufacturerRepository.GetBrands();
            return(retailerProductFilterResult);
        }