private FilterCatalogModel _filterCatalog(CatalogModel model)
        {
            var store       = new StoreAction();
            var filterModel = new FilterCatalogModel();

            filterModel.groupId = model.groupId;
            if (model.goods == null || model.goods.Count == 0)
            {
                return(filterModel);
            }
            filterModel.minPrice = filterModel.selectedMinPrice = model.goods.Min(s => s.price);
            filterModel.maxPrice = filterModel.selectedMaxPrice = model.goods.Max(s => s.price);
            var brands = model.goods.Select(s => s.brandId).Where(s => s.HasValue).Distinct().ToList();

            filterModel.brands = new List <BrandFilter>();
            var brandsAll = store.GetGoodBrands();

            if (brands?.Count() > 0)
            {
                foreach (var item in brands)
                {
                    var brand = brandsAll.Single(s => s.id == item);
                    filterModel.brands.Add(new BrandFilter
                    {
                        brandId    = brand.id,
                        brandName  = brand.name,
                        brandCount = model.goods.Count(s => s.brandId == brand.id),
                        isChecked  = true
                    });
                }
            }
            return(filterModel);
        }
        public ActionResult FilterDo(FilterCatalogModel filter)
        {
            var model = GetCatalogModel(filter.groupId);

            model.goods = model.goods.Where(s => s.price >= filter.selectedMinPrice && s.price <= filter.selectedMaxPrice).
                          Join(filter.brands.Where(s => s.isChecked), g => g.brandId, b => b.brandId, (g, b) => g).ToList();
            model.filter.selectedMaxPrice = filter.selectedMaxPrice;
            model.filter.selectedMinPrice = filter.selectedMinPrice;
            filter.brands.Where(s => !s.isChecked).ToList()?.ForEach(b => model.filter.brands.FirstOrDefault(s => s.brandId == b.brandId).isChecked = false);
            return(View("Catalog", model));
        }