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); }
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); }
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); }