public ActionResult Index(int id) { ViewBag.BredCrumbs = _productRepository.GetBreadCrumbs(id); var viewModel = new SingleViewModel() { Product = _productRepository.Get(id), RelatedProducts = _productRepository.RelatedProducts(id) }; _productRepository.EnhancementPopularField(id); //var existColer=viewModel.Product.Categories.e var category = viewModel.Product.Categories.FirstOrDefault(); if (category != null) { var cat = _categoryRepository.Get(category.Id); ViewBag.Recommendations = cat.Recommendations; ViewBag.IsFromParent = _categoryRepository.IsChildFromParent(category.Id, 1344); } else { ViewBag.IsFromParent = false; } ViewBag.MetaTitle = viewModel.Product.Seo != null? viewModel.Product.Seo.MetaTitle : viewModel.Product.Title; ViewBag.Keywords = viewModel.Product.Seo != null ? viewModel.Product.Seo.MetaKeywords : null; ViewBag.Description = viewModel.Product.Seo != null ? viewModel.Product.Seo.MetaDescription : null; ViewBag.Shipping = _globalOptionRepository.Get("shipping").OptionContent; bool WillBeAddedFlag = viewModel.Product.TypeStatusProduct == Common.TypeStatusProduct.WillBeAdded; bool willbeRelatedFlag = viewModel.RelatedProducts.Any(i => i.TypeStatusProduct == Common.TypeStatusProduct.WillBeAdded); WillBeAddedFlag = willbeRelatedFlag || willbeRelatedFlag; ViewBag.WillBeAddedFlag = WillBeAddedFlag; if (WillBeAddedFlag) { ViewBag.WillBeAddedFlagText = _globalOptionRepository.Get("footnote"); } return(View(viewModel)); }
public ActionResult Update(int id) { var model = _globalOptionRepository.Get(id); return(View(model)); }
public ActionResult Index(int id = 0, int sortingOrder = 0) { ViewBag.SortingOrder = sortingOrder; if (id == 0) { var efRootCategories = _categoryRepository.GetRootCategoriesWithSubs(); var modelRootCategories = AllCategoriesViewModel.ToModelEnumerable(efRootCategories); ViewBag.MetaTitle = "Категории"; return(View("ViewRootCategories", modelRootCategories)); } SearchParamsCategory searchParamsCategory; var curCookieName = this.HttpContext.Request.Cookies.AllKeys.FirstOrDefault(i => i == "category_" + id.ToString()); var curCookie = this.HttpContext.Request.Cookies.Get(curCookieName); CategoryViewModel viewModel; if (curCookie != null) { var jsonObj = JsonConvert.DeserializeObject <CategoryFiltersJsonModel>(curCookie.Value); var checkedEnumValueIds = new List <int>(); var filterSearchModel = new List <FilterSearchModel>(); foreach (var item in jsonObj.Filters) { filterSearchModel.Add(new FilterSearchModel() { Id = item.Id, EventValueIds = item.EnumValueIds, }); checkedEnumValueIds.AddRange(item.EnumValueIds); } searchParamsCategory = new SearchParamsCategory(null, id, (int)jsonObj.MaxPrice, (int)jsonObj.MinPrice, filterSearchModel); viewModel = CategoryViewModel.ToModel(_categoryRepository.GetBySearchParams(searchParamsCategory)); viewModel.CurrentMaxPrice = (int)jsonObj.MaxPrice; viewModel.CurrentMinPrice = (int)jsonObj.MinPrice; foreach (var item in viewModel.Filters) { foreach (var enumVal in item.EnumValues) { if (checkedEnumValueIds.Contains(enumVal.Id)) { enumVal.Checked = true; } } } } else { searchParamsCategory = new SearchParamsCategory(id) { IsSearchOnlyPublicProduct = true }; var t = _categoryRepository.GetBySearchParams(searchParamsCategory); viewModel = CategoryViewModel.ToModel(t); } //var productsEnumValues = new List<int>(); //foreach (var item in viewModel.Products) //{ // productsEnumValues.AddRange(item.EnumValues.Select(s => s.Id)); //} foreach (var item in viewModel.Filters) { item.EnumValues = (item.EnumValues).Where(w => searchParamsCategory.OutEnumValueIds.Contains(w.Id)).OrderBy(o => o, new Tools.Compare.CompareCategoryEnumValueViewModel()).ToList(); } viewModel.ExistProducts = searchParamsCategory.ExistProductsInBd; if (sortingOrder != 0) { switch (sortingOrder) { case (int)Common.TypeSort.Price: viewModel.Products.Sort(new Tools.Compare.ProductCompareByPrice()); break; case (int)Common.TypeSort.Name: viewModel.Products.Sort(new Tools.Compare.ProductCompareByTitle()); break; case (int)Common.TypeSort.Popular: viewModel.Products.Sort(new Tools.Compare.ProductCompareByPopular()); break; default: break; } } var tmpBreadCrumbs = _categoryRepository.GetBreadCrumbs(id); if (tmpBreadCrumbs.Count() == 2) { foreach (var item in tmpBreadCrumbs) { var tmpIndx = item.FriendlyUrl.LastIndexOf('/'); if (tmpIndx != 0) { item.FriendlyUrl = item.FriendlyUrl.Substring(0, tmpIndx); } break; } } ViewBag.BredCrumbs = tmpBreadCrumbs; viewModel.NestedCategories = _categoryRepository.GetNestedCategories(id).Select(s => CategoryShortViewModel.ToModel(s)).ToList(); viewModel.MaxPrice = _categoryRepository.GetMaxPriceFromCategory(id); viewModel.MinPrice = _categoryRepository.GetMinPriceFromCategory(id); ViewBag.MetaTitle = viewModel.Seo != null ? viewModel.Seo.MetaTitle : viewModel.Title; ViewBag.Keywords = viewModel.Seo != null ? viewModel.Seo.MetaKeywords : null; ViewBag.Description = viewModel.Seo != null ? viewModel.Seo.MetaDescription : null; bool WillBeAddedFlag = viewModel.Products.Any(i => i.TypeStatusProduct == Common.TypeStatusProduct.WillBeAdded); ViewBag.WillBeAddedFlag = WillBeAddedFlag; if (WillBeAddedFlag) { ViewBag.WillBeAddedFlagText = _globalRepository.Get("footnote"); } return(View(viewModel)); }