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)));
         }
     }
 }
Example #2
0
        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)));
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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));
        }