Example #1
0
        // GET: Home
        public ActionResult Index()
        {
            //HttpContext.Cache.Add() <<< W przypadku korzystania z domyslnego cache-a
            //For diffrent cache use https://www.infoq.com/news/2007/07/memcached/ OR https://docs.microsoft.com/en-us/azure/azure-cache-for-redis/cache-aspnet-session-state-provider

            ICacheProvider cache = new DefaultCacheProvider();


            var categories = new List <Category>();

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();  cache.Set(Consts.CategoriesCacheKey, categories, 60);
            }


            var newBooks = db.Books.Where(a => !a.Hidden).OrderBy(a => a.CategoryId).ToList();
            List <List <Book> > seperatedBooks = new List <List <Book> >();

            if (cache.IsSet(Consts.NewBooksCacheKey))
            {
                seperatedBooks = cache.Get(Consts.NewBooksCacheKey) as List <List <Book> >;
            }
            else
            {
                List <Book> temp = new List <Book>();
                for (int i = 0; i < newBooks.Count; i++)
                {
                    if (i > 0)
                    {
                        if (newBooks.ElementAt(i).CategoryId != newBooks.ElementAt(i - 1).CategoryId)
                        {
                            seperatedBooks.Add(temp);
                            temp = new List <Book>(); temp.Add(newBooks.ElementAt(i));
                        }
                        else
                        {
                            temp.Add(newBooks.ElementAt(i));
                        }
                    }
                    else
                    {
                        temp.Add(newBooks.ElementAt(i));
                    }
                }
                cache.Set(Consts.NewBooksCacheKey, seperatedBooks, 60);
            }

            var vm = new HomeViewModel()
            {
                Categories             = categories,
                NewBooksFromCategories = seperatedBooks
            };

            return(View(vm));
        }
Example #2
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Const.CategoriesCacheKey))
            {
                categories = cache.Get(Const.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                //unikalne zawsze, dobiera inne
                categories = db.Category.ToList();
                cache.Set(Const.CategoriesCacheKey, categories, 60);
            }

            List <Equipment> latest;

            if (cache.IsSet(Const.LatestCacheKey))
            {
                latest = cache.Get(Const.LatestCacheKey) as List <Equipment>;
            }
            else
            {
                latest = db.AllEquipment.Where(a => !a.Hidden).OrderByDescending(a => a.DateAdded).Take(3).ToList();
                cache.Set(Const.LatestCacheKey, latest, 60);
            }

            List <Equipment> bestseller;

            if (cache.IsSet(Const.BestsellerCacheKey))
            {
                bestseller = cache.Get(Const.BestsellerCacheKey) as List <Equipment>;
            }
            else
            {
                //uniqe, always selecting different objects
                bestseller = db.AllEquipment.Where(a => !a.Hidden && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();
                cache.Set(Const.BestsellerCacheKey, bestseller, 60);
            }


            //unikalne zawsze, dobiera inne
            bestseller = db.AllEquipment.Where(a => !a.Hidden && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();

            var vm = new HomeViewModel()
            {
                Categories  = categories,
                Latest      = latest,
                Bestsellers = bestseller
            };

            return(View(vm));
        }
        public ActionResult Index()
        {
            logger.Info("Strona glowna mordo");

            List <Course>   news;
            List <Course>   bestSeller;
            List <Category> listCat;
            ICacheProvider  Cache = new DefaultCacheProvider();

            if (Cache.IsSet(Consts.NewsCacheKey))
            {
                news = Cache.Get(Consts.NewsCacheKey) as List <Course>;
            }

            else
            {
                news = db.Course.Where(a => !a.Hidden).OrderByDescending(a => a.DateAdd).Take(3).ToList();
                Cache.Set(Consts.NewsCacheKey, news, 60);
            }
            if (Cache.IsSet(Consts.CatCacheKey))
            {
                listCat = Cache.Get(Consts.CatCacheKey) as List <Category>;
            }
            else
            {
                listCat = db.Category.ToList();
                Cache.Set(Consts.CatCacheKey, listCat, 60);
            }



            if (Cache.IsSet(Consts.bestSellerCacheKey))
            {
                bestSeller = Cache.Get(Consts.bestSellerCacheKey) as List <Course>;
            }
            else
            {
                bestSeller = db.Course.Where(a => !a.Hidden || a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();
                Cache.Set(Consts.bestSellerCacheKey, bestSeller, 60);
            }


            //guid.new guid generuje unikalny identyfikator za kazdym razem, wiec mozna otrzymac losowe bestsellery

            var vm = new HomeViewModel()
            {
                Bestsellers = bestSeller,
                Cat         = listCat,
                News        = news
            };

            return(View(vm));
        }
        // GET: Home
        public ActionResult Index()
        {
            logger.Info("Jestes na stronie glownej");

            ICacheProvider cache = new DefaultCacheProvider();

            List <Kategoria> kategorie;

            if (cache.IsSet(Consts.KategorieCacheKey))
            {
                kategorie = cache.Get(Consts.KategorieCacheKey) as List <Kategoria>;
            }
            else
            {
                kategorie = db.Kategorie.ToList();
                cache.Set(Consts.KategorieCacheKey, kategorie, 60);
            }
            List <Kurs> nowosci;

            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, 1);
            }


            List <Kurs> bestseller;

            if (cache.IsSet(Consts.BestsellerCacheKey))
            {
                bestseller = cache.Get(Consts.BestsellerCacheKey) as List <Kurs>;
            }
            else
            {
                bestseller = db.Kursy.Where(a => !a.Ukryty).OrderByDescending(a => a.DataDodania).Take(3).ToList();
                cache.Set(Consts.BestsellerCacheKey, bestseller, 1);
            }


            var vm = new HomeViewModel()
            {
                Kategorie   = kategorie,
                Nowosci     = nowosci,
                Bestsellery = bestseller
            };


            return(View(vm));
        }
Example #5
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCache))
            {
                categories = cache.Get(Consts.CategoriesCache) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Consts.CategoriesCache, categories, 60);
            }

            List <Supplement> newsupplements;

            if (cache.IsSet(Consts.NewSupplementCache))
            {
                newsupplements = cache.Get(Consts.NewSupplementCache) as List <Supplement>;
            }
            else
            {
                newsupplements = db.Supplements.Where(a => !a.Hidden).OrderByDescending(a => a.AddTime).Take(3).ToList();
                cache.Set(Consts.NewSupplementCache, newsupplements, 1);
            }

            List <Supplement> bestsellersupplements;

            if (cache.IsSet(Consts.BestsellerCache))
            {
                bestsellersupplements = cache.Get(Consts.BestsellerCache) as List <Supplement>;
            }
            else
            {
                bestsellersupplements =
                    db.Supplements.Where(a => !a.Hidden && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList(); //Guid - nadaje nowy identyfikator za kazdym razem gdy uruchamiamy aplikacje
                cache.Set(Consts.BestsellerCache, bestsellersupplements, 1);
            }



            var viewmodel = new HomeViewModel()
            {
                Categories            = categories,
                NewSupplements        = newsupplements,
                BestsellerSupplements = bestsellersupplements
            };

            return(View(viewmodel));
        }
Example #6
0
        public ActionResult Index()
        {
            logger.Info("U r on the main page");
            //throw new Exception("ascasca");
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Const.CATEGORIES_CACHE_KEY))
            {
                categories = cache.Get(Const.CATEGORIES_CACHE_KEY) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Const.CATEGORIES_CACHE_KEY, categories, 60);
            }

            List <Course> brandNews;

            if (cache.IsSet(Const.BRAND_NEWS_CACHE_KEY))
            {
                brandNews = cache.Get(Const.BRAND_NEWS_CACHE_KEY) as List <Course>;
            }
            else
            {
                brandNews = db.Courses.Where(x => !x.Hidden).OrderByDescending(x => x.InsertDate).Take(3).ToList();
                cache.Set(Const.BRAND_NEWS_CACHE_KEY, brandNews, 1);
            }

            List <Course> bestsellers;

            if (cache.IsSet(Const.BESTSELLERS_CACHE_KEY))
            {
                bestsellers = cache.Get(Const.BESTSELLERS_CACHE_KEY) as List <Course>;
            }
            else
            {
                bestsellers = db.Courses.Where(x => x.Bestseller == true && !x.Hidden).OrderBy(x => Guid.NewGuid()).Take(3).ToList();
                cache.Set(Const.BESTSELLERS_CACHE_KEY, bestsellers, 1);
            }

            var vm = new HomeViewModel()
            {
                Categories  = categories,
                BrandNew    = brandNews,
                Bestsellers = bestsellers
            };


            return(View(vm));
        }
Example #7
0
        public ActionResult Index()
        {
            logger.Info("You are on the Home Page");

            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Const.CategoryCacheKey))
            {
                categories = cache.Get(Const.CategoryCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Const.CategoryCacheKey, categories, 60);
            }

            List <Course> newest;

            if (cache.IsSet(Const.NewestCacheKey))
            {
                newest = cache.Get(Const.NewestCacheKey) as List <Course>;
            }
            else
            {
                newest = db.Courses.Where(a => !a.Hidden).OrderByDescending(a => a.DateAdded).Take(3).ToList();
                cache.Set(Const.NewestCacheKey, newest, 60);
            }

            List <Course> bestsellers;

            if (cache.IsSet(Const.BestSellerCacheKey))
            {
                bestsellers = cache.Get(Const.BestSellerCacheKey) as List <Course>;
            }
            else
            {
                bestsellers = db.Courses.Where(a => !a.Hidden && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();
                cache.Set(Const.BestSellerCacheKey, newest, 60);
            }

            var viewmodel = new HomeViewModel()
            {
                CategoryViewModel     = categories,
                Bestsellers           = bestsellers,
                NewestCourseViewModel = newest
            };

            return(View(viewmodel));
        }
Example #8
0
        // GET: Home

        //Main view of the application - get products and categories from cache
        public ActionResult Index()
        {
            //Reference to our Cache interface
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Category.ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 60);
            }

            List <Product> newProducts;

            if (cache.IsSet(Consts.NewProductsCacheKey))
            {
                newProducts = cache.Get(Consts.NewProductsCacheKey) as List <Product>;
            }
            else
            {
                newProducts = db.Product.Where(a => !a.Hidden).OrderByDescending(a => a.DateAdded).Take(3).ToList();
                cache.Set(Consts.NewProductsCacheKey, newProducts, 60);
            }

            List <Product> bestsellers;

            if (cache.IsSet(Consts.BestsellersCacheKey))
            {
                bestsellers = cache.Get(Consts.BestsellersCacheKey) as List <Product>;
            }
            else
            {
                bestsellers = db.Product.Where(a => !a.Hidden && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(5).ToList();
                cache.Set(Consts.BestsellersCacheKey, bestsellers, 60);
            }

            var viewModel = new HomeViewModel()
            {
                Categories  = categories,
                NewProducts = newProducts,
                Bestsellers = bestsellers
            };

            return(View(viewModel));
        }
        public ActionResult Index(string searchQuery = null)
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 24);
            }

            List <Offer> featuredOffers;

            if (cache.IsSet(Consts.FeaturedCacheKey))
            {
                featuredOffers = cache.Get(Consts.FeaturedCacheKey) as List <Offer>;
            }
            else
            {
                featuredOffers = db.Offers.Include("Category").Where(x => x.Featured && x.Status == Models.OfferStatus.Aktywne).OrderBy(x => Guid.NewGuid()).Take(2).ToList();
                cache.Set(Consts.FeaturedCacheKey, featuredOffers, 24);
            }

            //version without search engine
            //var offers = db.Offers.Include("Category").Where(x => x.Status == Models.OfferStatus.Aktywne).OrderBy(x => Guid.NewGuid()).Take(6).ToList();
            var offers = db.Offers.Include("Category").Where(x => searchQuery == null ||
                                                             x.Title.ToLower().Contains(searchQuery.ToLower()) ||
                                                             x.Category.Name.ToLower().Contains(searchQuery.ToLower()) ||
                                                             x.CompanyName.ToLower().Contains(searchQuery.ToLower()) &&
                                                             x.Status == Models.OfferStatus.Aktywne).Take(6).ToList();

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_PartialListOffers", offers));
            }



            var vm = new HomeViewModel {
                FeaturedOffers = featuredOffers, NormalOffers = offers, Categories = categories
            };

            return(View(vm));
        }
Example #10
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Genre> genres;

            if (cache.IsSet(CacheConst.genres))
            {
                genres = cache.Get(CacheConst.genres) as List <Genre>;
            }
            else
            {
                genres = db.Genres.ToList();
                cache.Set(CacheConst.genres, genres, 180);
            }

            List <Album> newArrivals;

            if (cache.IsSet(CacheConst.newArrivals))
            {
                newArrivals = cache.Get(CacheConst.newArrivals) as List <Album>;
            }
            else
            {
                newArrivals = db.Albums.Where(a => !a.isHidden).OrderByDescending(a => a.DateAdded).Take(3).ToList();
                cache.Set(CacheConst.newArrivals, newArrivals, 30);
            }

            List <Album> bestsellers;

            if (cache.IsSet(CacheConst.bestseller))
            {
                bestsellers = cache.Get(CacheConst.bestseller) as List <Album>;
            }
            else
            {
                bestsellers = db.Albums.Where(a => !a.isHidden && a.IsBestseller).OrderBy(g => Guid.NewGuid()).Take(3).ToList();
                cache.Set(CacheConst.bestseller, bestsellers, 15);
            }

            var vm = new HomeViewModel()
            {
                Bestsellers = bestsellers,
                Genres      = genres,
                NewArrivals = newArrivals
            };

            return(View(vm));
        }
Example #11
0
        public ActionResult Index()
        {
            //var categories = db.Categories.ToList();

            ICacheProvider cache = new DefaultCacheProvider();



            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.OrderBy(a => a.CategoryName).ToList();

                cache.Set(Consts.CategoriesCacheKey, categories, 120);
            }



            List <Product> recent;

            if (cache.IsSet(Consts.RecentCacheKey))
            {
                recent = cache.Get(Consts.RecentCacheKey) as List <Product>;
            }
            else
            {
                recent = db.Products.OrderByDescending(a => a.DateAdded).Take(6).ToList();
                cache.Set(Consts.RecentCacheKey, recent, 1);
            }



            var vm = new HomeViewModel
            {
                Categories = categories,
                Recent     = recent
            };

            //var ListCategories = db.Categories.ToList();



            return(View(vm));
        }
Example #12
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Kategoria> kategorie;

            if (cache.IsSet(Consts.KategorieCacheKey))
            {
                kategorie = cache.Get(Consts.KategorieCacheKey) as List <Kategoria>;
            }
            else
            {
                kategorie = db.Kategorie.ToList();
                cache.Set(Consts.KategorieCacheKey, kategorie, 60);
            }

            List <Produkt> nowosci;

            if (cache.IsSet(Consts.NowosciCacheKey))
            {
                nowosci = cache.Get(Consts.NowosciCacheKey) as List <Produkt>;
            }
            else
            {
                nowosci = db.Produkty.Where(a => !a.ukryty).OrderByDescending(a => a.data_dodania).Take(3).ToList();
                cache.Set(Consts.NowosciCacheKey, nowosci, 60);
            }

            List <Produkt> bestseller;

            if (cache.IsSet(Consts.BestsellerCacheKey))
            {
                bestseller = cache.Get(Consts.BestsellerCacheKey) as List <Produkt>;
            }
            else
            {
                bestseller = db.Produkty.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));
        }
Example #13
0
        public ActionResult Index()
        {
            ICacheProvider   cache = new DefaultCacheProvider();
            List <Skarpetki> nowosci;

            if (cache.IsSet(Consts.NowosciCacheKey))
            {
                nowosci = cache.Get(Consts.NowosciCacheKey) as List <Skarpetki>;
            }
            else
            {
                nowosci = db.Skarpetki.Where(a => !a.Ukryty).OrderByDescending(a => a.DataDodania).Take(3).ToList();
                cache.Set(Consts.NowosciCacheKey, nowosci, 60);
            }

            List <Skarpetki> bestseller;

            if (cache.IsSet(Consts.BestsellerCacheKey))
            {
                bestseller = cache.Get(Consts.BestsellerCacheKey) as List <Skarpetki>;
            }
            else
            {
                bestseller = db.Skarpetki.Where(a => !a.Ukryty && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList(); //sortujemy po indywidualnym indentyfikatorze
                cache.Set(Consts.NowosciCacheKey, bestseller, 60);
            }

            List <Kategoria> kategorie;

            if (cache.IsSet(Consts.KategorieCacheKey))
            {
                kategorie = cache.Get(Consts.KategorieCacheKey) as List <Kategoria>;
            }
            else
            {
                kategorie = db.Kategorie.ToList();
                cache.Set(Consts.KategorieCacheKey, kategorie, 60);
            }

            var ViewModel = new HomeViewModel()
            {
                Kategorie   = kategorie,
                Nowosci     = nowosci,
                Bestsellery = bestseller
            };

            return(View(ViewModel));
        }
        //Shows bestseller items and new ones
        public ActionResult Index()
        {
            var category = db.Categories.ToList();

            var best = db.Items.Where(a => a.Available && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(4).ToList();

            ICacheProvider cache = new DefaultCacheProvider();
            List <Item>    newOnes;

            if (cache.IsSet(Consts.NewsCacheKey))
            {
                newOnes = cache.Get(Consts.NewsCacheKey) as List <Item>;
            }
            else
            {
                newOnes = db.Items.Where(a => a.Available).OrderByDescending(a => a.AddDate).Take(4).ToList();
                cache.Set(Consts.NewsCacheKey, newOnes, 60);
            }

            var vm = new HomeViewModel()
            {
                Bestseller = best,
                New        = newOnes,
                Categories = category
            };

            return(View(vm));
        }
Example #15
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();
            List <Produkt> nowosci;

            if (cache.IsSet(Consts.NowosciCacheKey))
            {
                nowosci = cache.Get(Consts.NowosciCacheKey) as List <Produkt>;
            }
            else
            {
                nowosci = db.Produkt.Where(a => !a.Ukryty).OrderByDescending(a => a.DataDodania).Take(6).ToList();
                cache.Set(Consts.NowosciCacheKey, nowosci, 60);
            }

            var kategorie = db.Kategoria.ToList();



            var bestsellery = db.Produkt.Where(a => !a.Ukryty && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList(); //Guid.NewGuid() - sortuje po unikalnym indentyfikatorze za kazdym razem innmy

            var powiazane = db.Produkt.Take(5).ToList();

            var vm = new HomeViewModel()
            {
                Kategorie   = kategorie,
                Nowosci     = nowosci,
                Bestsellery = bestsellery,
                Powiazane   = powiazane
            };

            return(View(vm));
        }
Example #16
0
        public ActionResult Index()
        {
            var genres = db.Genres.ToList();

            ICacheProvider cache = new DefaultCacheProvider();

            List <Album> newArrivals;

            if (cache.IsSet(Consts.NewItemsCacheKey))
            {
                newArrivals = cache.Get(Consts.NewItemsCacheKey) as List <Album>;
            }
            else
            {
                newArrivals = db.Albums.Where(a => !a.IsHidden).OrderByDescending(a => a.DateAdded).Take(3).ToList();
                cache.Set(Consts.NewItemsCacheKey, newArrivals, 30);
            }


            var bestsellers = db.Albums.Where(a => !a.IsHidden && a.IsBestseller).OrderBy(g => Guid.NewGuid()).Take(3).ToList();

            var vm = new HomeViewModel()
            {
                Bestsellers = bestsellers,

                Genres = genres,

                NewArrivals = newArrivals
            };

            return(View(vm));
        }
Example #17
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            //Categories
            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 60);
            }

            // News
            var news = db.Audiobooks.Where(a => !a.LackAudiobook).OrderByDescending(a => a.DateAdded).Take(3).ToList();


            // Bestseller
            var bestseller = db.Audiobooks.Where(a => !a.LackAudiobook && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();


            var vm = new HomeViewModel()
            {
                Categories  = categories,
                News        = news,
                Bestsellers = bestseller,
            };

            return(View(vm));
        }
Example #18
0
        // GET: Home
        public ActionResult Index()
        {
            var categories = db.Categories.ToList();

            //Caching
            ICacheProvider cache = new DefaultCacheProvider();
            List <Game>    newArriwals;

            if (cache.IsSet(Consts.NewItemsCacheKey))
            {
                newArriwals = cache.Get(Consts.NewItemsCacheKey) as List <Game>;
            }
            else
            {
                newArriwals = db.Games.Where(x => !x.IsHidder).OrderByDescending(x => x.DateAdded).Take(3).ToList();
                cache.Set(Consts.NewItemsCacheKey, newArriwals, 30);
            }

            var bestsellers = db.Games.Where(x => !x.IsHidder && x.IsBestseller).OrderBy(y => Guid.NewGuid()).Take(3).ToList(); // order by new Guid to get random bestseller in each time

            var vm = new HomeViewModel()
            {
                Bestsellers = bestsellers,
                NewArrivals = newArriwals,
                Categories  = categories
            };

            return(View(vm));
        }
		// GET: Home
		public ActionResult Index()
		{
			var categories = db.Categories;

			ICacheProvider cache = new DefaultCacheProvider();

			List<Course> newArrivals;
			if (cache.IsSet(Consts.NewItemCacheKey))
			{
				newArrivals = cache.Get(Consts.NewItemCacheKey) as List<Course>;
			}
			else
			{
				newArrivals = db.Courses.Where(a => !a.IsHidden).OrderByDescending(a => a.DateAdded).Take(3).ToList();
				cache.Set(Consts.NewItemCacheKey, newArrivals, 30);
			}


			
			var bestVoted = db.Courses.Where(a => !a.IsHidden && a.IsBestVoted).OrderBy(g => Guid.NewGuid()).Take(3).ToList();

			var vm = new HomeViewModel()
			{
				Categories = categories, 
				BestVoted = bestVoted,
				NewArrivals = newArrivals
			};




			return View(vm);
		}
Example #20
0
        // GET: Home
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = _db.Categories.ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 60);
            }


            List <Product> news;


            //if (cache.IsSet(Consts.NewsCacheKey))
            //{
            //    news = cache.Get(Consts.NewsCacheKey) as List<Product>;
            //}
            //else
            //{
            news = _db.Products.Where(n => !n.Hidden).OrderByDescending(a => a.AddTime).Take(3).ToList();
            cache.Set(Consts.NewsCacheKey, news, 5);
            //}

            List <Product> bestsellers;

            //if (cache.IsSet(Consts.BestsellersCacheKey))
            //{
            //    bestsellers = cache.Get(Consts.BestsellersCacheKey) as List<Product>;
            //}
            //else
            //{
            bestsellers = _db.Products.Where(b => !b.Hidden && b.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();
            cache.Set(Consts.BestsellersCacheKey, bestsellers, 5);
            //}


            var viewmodel = new HomeViewModel()
            {
                Categories  = categories,
                News        = news,
                Bestsellers = bestsellers
            };

            return(View(viewmodel));
        }
Example #21
0
        public ActionResult Index()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 24);
            }

            List <Book> bestsellers;

            if (cache.IsSet(Consts.BestsellersCacheKey))
            {
                bestsellers = cache.Get(Consts.BestsellersCacheKey) as List <Book>;
            }
            else
            {
                bestsellers = db.Books.Where(x => !x.Inaccessible && x.Bestseller).OrderBy(x => Guid.NewGuid()).Take(3).ToList();
                cache.Set(Consts.BestsellersCacheKey, bestsellers, 24);
            }


            var news = db.Books.Where(x => !x.Inaccessible).OrderByDescending(x => x.DateAdded).Take(24).OrderBy(x => Guid.NewGuid()).Take(6).ToList();
            var vm   = new HomeViewModel {
                Categories = categories, Bestsellers = bestsellers, News = news
            };

            return(View(vm));
        }
Example #22
0
        public ActionResult Kategorie()
        {
            ICacheProvider   cache = new DefaultCacheProvider();
            List <Kategoria> kategorie;

            if (cache.IsSet(Consts.KategorieCacheKey))
            {
                kategorie = cache.Get(Consts.KategorieCacheKey) as List <Kategoria>;
            }
            else
            {
                kategorie = db.Kategorie.ToList();
                cache.Set(Consts.KategorieCacheKey, kategorie, 1);
            }
            return(View(kategorie));
        }
Example #23
0
        public ActionResult CategoryMenu()
        {
            ICacheProvider        cache = new DefaultCacheProvider();
            List <CategoryModels> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <CategoryModels>;
            }
            else
            {
                categories = db.Categories.OrderByDescending(x => x.Category_name).ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 60);
            }

            return(PartialView("_CategoryMenu", categories));
        }
Example #24
0
        public T2 GetFromCacheOrDataSource <T2>(string key, Func <T2> action, int inCacheDuration = 60)
        {
            if (!IsCachinEnabled)
            {
                return(action());
            }

            if (cacheProvider.IsSet(key))
            {
                return(cacheProvider.Get <T2>(key));
            }
            var data = action();

            cacheProvider.Set(key, data, inCacheDuration);

            return(data);
        }
        public ActionResult GetCategories()
        {
            ICacheProvider cache = new DefaultCacheProvider();

            List <Category> categories;

            if (cache.IsSet(Consts.CategoriesCacheKey))
            {
                categories = cache.Get(Consts.CategoriesCacheKey) as List <Category>;
            }
            else
            {
                categories = db.Categories.ToList();
                cache.Set(Consts.CategoriesCacheKey, categories, 24);
            }
            return(PartialView("_PartialCategoriesLeft", categories));
        }
        public ActionResult Nowosci()
        {
            ICacheProvider cache = new DefaultCacheProvider();
            List <Auto>    nowosci;

            if (cache.IsSet(Consts.NowosciCacheKey))
            {
                nowosci = cache.Get(Consts.NowosciCacheKey) as List <Auto>;
            }
            else
            {
                nowosci = db.Auta.Where(a => !a.Wypozyczony).OrderByDescending(a => a.DataDodania).Take(3).ToList();
                cache.Set(Consts.NowosciCacheKey, nowosci, 1);
            }
            var vm = new HomeViewModel()
            {
                Nowosci = nowosci
            };

            return(PartialView("_NowosciPartial", vm));
        }
        public ActionResult Index()
        {
            //Category categoryName = new Category { NameCategory = "Przeciwbólowe", Description = "To kategoria leków przeciwbólowych" };
            //db.Categories.Add(categoryName);
            //db.SaveChanges();

            //var categoriesList = db.Categories.ToList();

            var categories = db.Categories.ToList();

            ICacheProvider cache = new DefaultCacheProvider();

            List <Product> newArrivals;

            //sprawdzanie czy zmienna w cache zostala ustawiona
            //jak nic sie nie zmienilo to bierz z cache
            if (cache.IsSet(Consts.NewItemCacheKey))
            {
                newArrivals = cache.Get(Consts.NewItemCacheKey) as List <Product>;
            }
            else
            {
                newArrivals = db.Products.Where(a => !a.IsHidden && a.MaxQuantity > 0).OrderByDescending(a => a.DateAdded).Take(4).ToList();
                cache.Set(Consts.NewItemCacheKey, newArrivals, 30);
            }

            var bestsellers = db.Products.Where(a => !a.IsHidden && a.MaxQuantity > 0 && a.IsBestseller).OrderBy(g => Guid.NewGuid()).Take(4).ToList();

            var slider = db.Sliders.OrderBy(p => p.ProductId).ToList();
            var vm     = new HomeViewModel()
            {
                Bestsellers = bestsellers,
                Categories  = categories,
                NewArrivals = newArrivals,
                Slider      = slider
            };

            return(View(vm));
        }
Example #28
0
        public ActionResult Index()
        {
            ICacheProvider       cache = new DefaultCacheProvider();
            List <ProductModels> bestsellers;

            if (cache.IsSet(Consts.BestsellersCacheKey))
            {
                bestsellers = cache.Get(Consts.BestsellersCacheKey) as List <ProductModels>;
            }
            else
            {
                bestsellers = db.Products.Where(x => x.Product_is_bestseller == true).OrderBy(x => Guid.NewGuid()).Take(3).ToList();
                cache.Set(Consts.BestsellersCacheKey, bestsellers, 60);
            }

            var home_view_model = new HomeViewModel()
            {
                Bestsellers = bestsellers
            };

            return(View(home_view_model));
        }
        public ActionResult Index()
        {
            //logger.Info("Jestes na stronie glownej");

            // Test Cache with create class
            ICacheProvider cache = new DefaultCacheProvider();

            List <Gatunek> gatunki;

            if (cache.IsSet(Consts.GatunkiCacheKey))
            {
                gatunki = cache.Get(Consts.GatunkiCacheKey) as List <Gatunek>;
            }

            else
            {
                gatunki = db.Gatunki.ToList();
                cache.Set(Consts.GatunkiCacheKey, gatunki, 60);
            }

            List <Zwierze> zwierzeta;

            zwierzeta = db.Zwierzeta.Where(z => !z.Ukryty).OrderBy(a => Guid.NewGuid()).ToList();



            //  NIe pobierać zwięrząt cache! bo mogą zostać w każdym momencie zmodyfikowane!
            //if (cache.IsSet(Consts.ZwierzetaGatunkuCacheKey))
            //{
            //    zwierzeta = cache.Get(Consts.ZwierzetaGatunkuCacheKey) as List<Zwierze>;
            //}

            //else
            //{
            //    zwierzeta = db.Zwierzeta.Where(z => !z.Ukryty).OrderBy(a => Guid.NewGuid()).ToList();
            //    cache.Set(Consts.ZwierzetaGatunkuCacheKey, zwierzeta, 60);
            //}
            return(View(zwierzeta));
        }
        public ActionResult Index()
        {
            //throw new Exception("blaaad");
            var name = User.Identity.Name;

            logger.Info("Strona główna | " + name);

            //pobieranie nowosci ktore : nie sa ukryte w bazie ,po dacie dodania i bierzemy 3 do listy
            ICacheProvider cache = new DefaultCacheProvider();

            List <Kategoria> kategorie;

            if (cache.IsSet(Consts.KategorieCacheKey))
            {
                kategorie = cache.Get(Consts.KategorieCacheKey) as List <Kategoria>; //pobieranie danych z cache
            }
            else
            {
                kategorie = db.Kategorie.ToList(); //pobieranie kategorii
                cache.Set(Consts.KategorieCacheKey, kategorie, 60);
            }



            List <Produkt> nowosci;

            //spr czy dane sa w cache
            if (cache.IsSet(Consts.NowosciCacheKey))
            {
                nowosci = cache.Get(Consts.NowosciCacheKey) as List <Produkt>; //pobieranie danych z cache
            }
            else
            {
                nowosci = db.Produkty.Where(a => !a.Ukryty).OrderByDescending(a => a.DataDodania).Take(3).ToList(); //wczytywanie do cache dancyh z bazy
                cache.Set(Consts.NowosciCacheKey, nowosci, 60);
            }

            List <Produkt> bestseller;

            //spr czy dane sa w cache
            if (cache.IsSet(Consts.BestsellerCacheKey))
            {
                bestseller = cache.Get(Consts.BestsellerCacheKey) as List <Produkt>; //pobieranie danych z cache
            }
            else
            {///Bierzemy ktore nie sa ukryte, flaga ustawiona ze sa bestsellerami, i sortujemy po Guid (spowoduje ze sortujemy po specjalnym identyfikatorze, tworzy dla kazdego kursu
                //unikalny identyfikator i zostanie to posortowane po innym identyfikatorze i zawsze to bedzie inny . zatem zawsze dostaniemy inny na stronie
                bestseller = db.Produkty.Where(a => !a.Ukryty && a.Bestseller).OrderBy(a => Guid.NewGuid()).Take(3).ToList();
                cache.Set(Consts.BestsellerCacheKey, bestseller, 60);
            }

            //zainstancjonujemy nasz model
            var vm = new HomeViewModel()
            {
                Kategorie   = kategorie,
                Nowosci     = nowosci,
                Bestsellery = bestseller
            };

            //przekazujemy nasz model do widoku
            return(View(vm));
        }