public async Task <IActionResult> Update(string id) { if (_cache.TryGetValue("CACHE_MASTER_PRODUCT", out List <ProductViewModel> c_lstProd)) { SetComboData(); ViewBag.checkedTag = _productTagRepository.GetProductTagViewModelsByProductId(id).Select(s => s.TagId).ToList(); if (c_lstProd == null) { return(await Task.Run(() => View())); } else { var model_cache = c_lstProd.FirstOrDefault(x => x.Id == id); return(await Task.Run(() => View(model_cache))); } } else { var model = _productRepository.GetProductViewModelById(id); SetComboData(); ViewBag.checkedTag = _productTagRepository.GetProductTagViewModelsByProductId(id).Select(s => s.TagId).ToList(); if (model == null) { return(await Task.Run(() => View())); } else { return(await Task.Run(() => View(model))); } } }
public async Task <IActionResult> ProductDeltail(string slug) { var sp = _productRepository.GetProductViewModelBySlug(slug); ViewBag.ProductTagDetail = _productTagRepository.GetProductTagViewModelsByProductId(sp.Id).Select(s => s.TagName).ToList(); ViewBag.RelateProduct = _productRepository.GetProductViewModelsByOrder(5).ToList(); if (_cache.TryGetValue("CACHE_MASTER_PRODUCT", out List <ProductViewModel> cLstProd)) { var listactive = cLstProd.Where(x => x.Actived == true && x.IsNew == true).Take(10).ToList(); ViewBag.NewProduct = listactive; } else { MemoryCacheEntryOptions options = new MemoryCacheEntryOptions { AbsoluteExpiration = DateTime.Now + TimeSpan.FromHours(3), AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(3), SlidingExpiration = TimeSpan.FromHours(3), Priority = CacheItemPriority.NeverRemove }; IEnumerable <ProductViewModel> list = _productRepository.GetProductViewModels().ToList(); foreach (var item in list) { item.PriceType = Enum.GetName(typeof(PriceType), int.Parse(item.PriceType)); } _cache.Set("CACHE_MASTER_PRODUCT", list, options); var listactive = list.Where(x => x.Actived == true && x.IsNew == true).Take(10).ToList(); ViewBag.NewProduct = listactive; } return(await Task.Run(() => View(sp))); }
public ActionResult Update(string id) { var model = _productRepository.GetProductViewModelById(id); SetComboData(); ViewBag.checkedTag = _productTagRepository.GetProductTagViewModelsByProductId(id).Select(s => s.TagId).ToList(); if (model == null) { return(View()); } else { return(View(model)); } }
public ActionResult Detail(string id) { ViewBag.ProductTagDetail = productTagRepository.GetProductTagViewModelsByProductId(id).Select(s => s.TagName).ToList(); ViewBag.RelateProduct = productRepository.GetProductViewModelsByOrder(5).ToList(); var model = productRepository.GetProductViewModelById(id); return(View(model)); }