Ejemplo n.º 1
0
        public ActionResult Index(string product, string category, string sort, string sortType)
        {
            IQueryable <Product> pr = dbContext.Products.Include(p => p.Category);

            if (String.IsNullOrEmpty(sort))
            {
                sort = "По убыванию";
            }
            if (String.IsNullOrEmpty(sortType))
            {
                sortType = "По цене";
            }
            if (!String.IsNullOrEmpty(category) && category != "Все")
            {
                pr = pr.Where(p => p.Category.title == category);
            }
            if (!String.IsNullOrEmpty(product))
            {
                pr = pr.Where(p => p.title.Contains(product));
            }
            if (sortType == "По цене" && sort == "По возрастанию")
            {
                pr = pr.OrderBy(c => c.price);
            }
            if (sortType == "По цене" && sort == "По убыванию")
            {
                pr = pr.OrderByDescending(c => c.price);
            }

            if (sortType == "По названию" && sort == "По возрастанию")
            {
                pr = pr.OrderBy(c => c.title);
            }
            if (sortType == "По названию" && sort == "По убыванию")
            {
                pr = pr.OrderByDescending(c => c.title);
            }

            if (sortType == "По кол-ву продаж" && sort == "По возрастанию")
            {
                pr = pr.OrderBy(c => c.countOfSels);
            }
            if (sortType == "По кол-ву продаж" && sort == "По убыванию")
            {
                pr = pr.OrderByDescending(c => c.countOfSels);
            }



            List <Category> categories = dbContext.Categories.ToList();

            categories.Insert(0, new Category {
                title = "Все", Id = 0
            });

            MyIndexViewModel viewModel = new MyIndexViewModel();

            viewModel.products   = pr.ToList();
            viewModel.categories = categories;
            if (!String.IsNullOrEmpty(product))
            {
                viewModel.selectname = product;
            }
            if (!String.IsNullOrEmpty(category) && category != "Все")
            {
                viewModel.selectcategory = category;
            }
            viewModel.selectSort       = sort;
            viewModel.selectTypeOfSort = sortType;


            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public IActionResult MyIndex()
        {
            List <ListMovieViewModel> Movies  = new List <ListMovieViewModel>();
            List <ListMovieViewModel> Movies2 = new List <ListMovieViewModel>();
            List <MusicViewModels>    Musics  = new List <MusicViewModels>();
            List <SerieViewModel>     Series  = new List <SerieViewModel>();
            //movies list
            var movies = context.Movies.Include(m => m.Reviews).ToList();

            //  movies.OrderByDescending(m => m.Reviews.Select(r => r.Rating));
            //foreach (var movie in movies)
            //{
            //    var ratingavg = context.Reviews.Where(rr => rr.MovieID == movie.ID).Select(rr => rr.Rating).Sum() /
            //                    context.Reviews.Where(rr => rr.MovieID == movie.ID).Select(rr => rr.Rating).Count();

            //}
            //if (movies.Count() < 5)
            //{
            for (int i = 0; i < movies.Count(); i++)
            {
                var movieRating   = 0;
                var totalRating   = 0;
                var reviewCounter = 0;
                if (movies[i].Reviews.Count != 0)
                {
                    foreach (var review in movies[i].Reviews)
                    {
                        reviewCounter++;
                        totalRating += review.Rating;
                    }
                    movieRating = totalRating / reviewCounter;
                }

                Movies.Add(new ListMovieViewModel()
                {
                    Titel = movies[i].Titel, Rating = movieRating, PhotoPath = movies[i].PhotoPath, Lenght = movies[i].Lenght, ID = movies[i].ID, YoutubeTrailer = movies[i].YoutubeTrailer, ReleaseDate = movies[i].ReleaseDate,
                });
            }
            Movies = Movies.OrderByDescending(m => m.Rating).ToList();
            if (Movies.Count < 5)
            {
                Addmovies(Movies, Movies2, movies.Count);
            }
            else
            {
                Addmovies(Movies, Movies2, 5);
            }


            //}
            //else
            //{
            //    for (int i = 0; i < 5; i++)
            //    {
            //        var movieRating = 0;
            //        var totalRating = 0;
            //        var reviewCounter = 0;
            //        if (movies[i].Reviews.Count != 0)
            //        {
            //            foreach (var review in movies[i].Reviews)
            //            {
            //                reviewCounter++;
            //                totalRating += review.Rating;
            //            }
            //            movieRating = totalRating / reviewCounter;
            //        }

            //        Movies.Add(new ListMovieViewModel() { Titel = movies[i].Titel, Rating = movieRating, PhotoPath = movies[i].PhotoPath, Lenght = movies[i].Lenght, ID = movies[i].ID, YoutubeTrailer = movies[i].YoutubeTrailer, ReleaseDate = movies[i].ReleaseDate, });
            //    }
            //}
            //musiclist
            var musics = context.Musics.Include(m => m.Reviews).ToList();

            musics.OrderBy(m => m.Reviews.Select(r => r.Rating));
            if (musics.Count() < 5)
            {
                for (int i = 0; i < musics.Count(); i++)
                {
                    var musicrating   = 0;
                    var totalRating   = 0;
                    var reviewCounter = 0;
                    if (musics[i].Reviews.Count != 0)
                    {
                        foreach (var review in musics[i].Reviews)
                        {
                            reviewCounter++;
                            totalRating += review.Rating;
                        }
                        musicrating = totalRating / reviewCounter;
                    }

                    Musics.Add(new MusicViewModels()
                    {
                        Titel = musics[i].Titel, Rating = musicrating, PhotoPath = musics[i].PhotoPath, Lenght = musics[i].Lenght, ID = musics[i].ID, YoutubeTrailer = musics[i].YoutubeTrailer, ReleaseDate = musics[i].ReleaseDate,
                    });
                }
            }
            else
            {
                for (int i = 0; i < 5; i++)
                {
                    var musicRating   = 0;
                    var totalRating   = 0;
                    var reviewCounter = 0;
                    if (musics[i].Reviews.Count != 0)
                    {
                        foreach (var review in musics[i].Reviews)
                        {
                            reviewCounter++;
                            totalRating += review.Rating;
                        }
                        musicRating = totalRating / reviewCounter;
                    }

                    Musics.Add(new MusicViewModels()
                    {
                        Titel = musics[i].Titel, Rating = musicRating, PhotoPath = musics[i].PhotoPath, Lenght = musics[i].Lenght, ID = musics[i].ID, YoutubeTrailer = musics[i].YoutubeTrailer, ReleaseDate = musics[i].ReleaseDate,
                    });
                }
            }


            //Series List
            var series = context.Seasons.Include(m => m.Serie).ToList();

            series.OrderBy(r => r.Rating);
            if (series.Count() < 5)
            {
                for (int i = 0; i < series.Count(); i++)
                {
                    Series.Add(new SerieViewModel()
                    {
                        Titel = series[i].Titel, Rating = series[i].Rating, PhotoPath = series[i].PhotoPath, SeasonID = series[i].ID, YoutubeTrailer = series[i].YoutubeTrailer, SeasonNr = series[i].Nr
                    });
                }
            }
            else
            {
                for (int i = 0; i < 5; i++)
                {
                    Series.Add(new SerieViewModel()
                    {
                        Titel = series[i].Titel, Rating = series[i].Rating, PhotoPath = series[i].PhotoPath, SeasonID = series[i].ID, YoutubeTrailer = series[i].YoutubeTrailer, SeasonNr = series[i].Nr
                    });
                }
            }
            Musics = Musics.OrderByDescending(m => m.Rating).ToList();
            Series = Series.OrderByDescending(m => m.Rating).ToList();

            var model = new MyIndexViewModel()
            {
                Movies = Movies2, Musics = Musics, Series = Series
            };

            return(View(model));
        }