public HomeViewModel GetBestsellersAndNewsForMainPage() { ICacheProvider cache = new DefaultCacheProvider(); List <Product> news = new List <Product>(); if (cache.isSet(Consts.NewsCacheKey)) { news = cache.Get(Consts.NewsCacheKey) as List <Product>; } else { news = db.Products.OrderByDescending(p => p.AddingDate).Take(3).ToList(); cache.Set(Consts.NewsCacheKey, news, 1); } List <Product> bestsellers = new List <Product>(); if (cache.isSet(Consts.BestsellerCacheKey)) { bestsellers = cache.Get(Consts.BestsellerCacheKey) as List <Product>; } else { bestsellers = db.Products.Where(p => p.isBestseller).OrderBy(p => Guid.NewGuid()).Take(3).ToList(); cache.Set(Consts.BestsellerCacheKey, bestsellers, 60); } return(new HomeViewModel() { Bestsellers = bestsellers, New = news }); }
public ActionResult Index() { ICacheProvider cache = new DefaultCacheProvider(); List <Kategoria> kategorie; List <Kurs> nowosci; List <Kurs> bestseller; if (cache.isSet(Consts.KategorieCacheKey)) { kategorie = cache.Get(Consts.KategorieCacheKey) as List <Kategoria>; } else { kategorie = db.Kategorie.ToList(); cache.Set(Consts.KategorieCacheKey, kategorie, 60); } if (cache.isSet(Consts.NowosciCacheKey)) { nowosci = cache.Get(Consts.NowosciCacheKey) as List <Kurs>; } else { nowosci = db.Kursy.Where(a => !a.Ukryty).OrderByDescending(a => a.DataDodania).Take(3).ToList(); cache.Set(Consts.NowosciCacheKey, nowosci, 60); } if (cache.isSet(Consts.BestsellerCacheKey)) { bestseller = cache.Get(Consts.BestsellerCacheKey) as List <Kurs>; } else { bestseller = db.Kursy.Where(a => !a.Ukryty && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList(); cache.Set(Consts.BestsellerCacheKey, bestseller, 60); } var vm = new HomeViewModel() { Kategorie = kategorie, Nowosci = nowosci, Bestsellery = bestseller }; return(View(vm)); }
public List <MainCategory> GetAllMainCategories() { ICacheProvider cache = new DefaultCacheProvider(); List <MainCategory> MainCategories = new List <MainCategory>(); if (cache.isSet(Consts.MainCategoriesCacheKey)) { MainCategories = cache.Get(Consts.MainCategoriesCacheKey) as List <MainCategory>; } else { MainCategories = db.MainCategories.ToList(); cache.Set(Consts.MainCategoriesCacheKey, MainCategories, 60); } return(MainCategories); }