Exemplo n.º 1
0
        public ActionResult DisplaySearchResults(DateTime?datSelectedDate, String SearchMovieTitle, String SearchTagline,
                                                 int[] SearchGenre, String SelectedYear, MPAArating SelectedMPAARating, String SearchActor, YearRank SelectedSortOrder,
                                                 String StarCount, Option SelectedOption)
        {
            //if they selected a search string, limit results to only repos that meet the criteria
            //create query
            var query = from m in db.Showings
                        select m;

            if (datSelectedDate != null)
            {
                //needed truncate time method because we were comparing a showdate with a specific time compared to one without just a date
                query = query.Where(m => DbFunctions.TruncateTime(m.ShowDate) == datSelectedDate);
            }

            //check to see if they selected something
            if (SearchMovieTitle != null)
            {
                query = query.Where(m => m.SponsoringMovie.MovieTitle.Contains(SearchMovieTitle));
            }

            if (SearchTagline != null)
            {
                query = query.Where(m => m.SponsoringMovie.Tagline.Contains(SearchTagline));
            }

            if (SearchActor != null)
            {
                query = query.Where(m => m.SponsoringMovie.Actor.Contains(SearchActor));
            }

            if (SearchGenre != null)
            {
                foreach (int GenreID in SearchGenre)
                {
                    //Genre GenreToFind = db.Genres.Find(GenreID);
                    query = query.Where(m => m.SponsoringMovie.Genres.Select(g => g.GenreID).Contains(GenreID));
                }
            }

            switch (SelectedMPAARating)
            {
            case MPAArating.G:
                query = query.Where(m => m.SponsoringMovie.MPAAratings == MPAArating.G);
                break;

            case MPAArating.PG:
                query = query.Where(m => m.SponsoringMovie.MPAAratings == MPAArating.PG);
                break;

            case MPAArating.PG13:
                query = query.Where(m => m.SponsoringMovie.MPAAratings == MPAArating.PG13);
                break;

            case MPAArating.R:
                query = query.Where(m => m.SponsoringMovie.MPAAratings == MPAArating.R);
                break;

            case MPAArating.Unrated:
                query = query.Where(m => m.SponsoringMovie.MPAAratings == MPAArating.Unrated);
                break;

            case MPAArating.All:

                break;
            }

            if (SelectedYear != null && SelectedYear != "")
            {
                Int32 intYear;
                try
                {
                    intYear = Convert.ToInt32(SelectedYear);
                }
                catch
                {
                    ViewBag.Message   = SelectedYear + "is not a valid year, please try again!";
                    ViewBag.AllGenres = GetAllGenres();
                    return(View("DetailedSearch"));
                }
                switch (SelectedSortOrder)
                {
                case YearRank.GreaterThan:
                    query = query.Where(r => r.SponsoringMovie.ReleaseDate.Year >= intYear);
                    break;

                case YearRank.LesserThan:
                    query = query.Where(r => r.SponsoringMovie.ReleaseDate.Year <= intYear);
                    break;
                }

                //query = query.Where(m => m.ReleaseDate.Year == intYear);
            }

            if (StarCount != null && StarCount != "")
            {
                Decimal decStar;
                try
                {
                    decStar = Convert.ToDecimal(StarCount);
                }
                catch
                {
                    //not sure which viewbag to put here
                    ViewBag.AllMovies = GetAllMovies();
                    return(View("DetailedSearch"));
                }

                //switch (SelectedOption)
                //{
                //    case Option.GreaterThan:
                //        query = query.Where(r => r.SponsoringMovie.AverageUserRating > decStar);
                //        break;

                //    case Option.LessThan:
                //        query = query.Where(r => r.SponsoringMovie.AverageUserRating <= decStar);
                //        break;
                //}
            }


            List <Showing> SelectedShowings = query.ToList();

            //order list
            SelectedShowings.OrderByDescending(m => m.SponsoringMovie.MovieTitle);

            ViewBag.AllShowings      = db.Showings.Count();
            ViewBag.SelectedShowings = SelectedShowings.Count();
            //send list to view
            return(View("Index", SelectedShowings));
        }
Exemplo n.º 2
0
        public ActionResult DisplaySearchResults(DateTime?FirstDate, DateTime?SecondDate, int[] SearchShowingMovies,
                                                 MPAArating SelectedMPAARating /*, DateTime? FirsTime, DateTime? SecondTime*/)
        {
            var query = from t in db.Tickets
                        where t.Order.Orderstatus == OrderStatus.Completed
                        select t;

            if (SearchShowingMovies != null)
            {
                foreach (int MovieID in SearchShowingMovies)
                {
                    Movie MovieToFind = db.Movies.Find(MovieID);
                    query = query.Where(t => t.Showing.SponsoringMovie.MovieID == MovieToFind.MovieID);
                }
            }

            switch (SelectedMPAARating)
            {
            case MPAArating.G:
                query = query.Where(t => t.Movie.MPAAratings == MPAArating.G);
                break;

            case MPAArating.PG:
                query = query.Where(t => t.Movie.MPAAratings == MPAArating.PG);
                break;

            case MPAArating.PG13:
                query = query.Where(t => t.Movie.MPAAratings == MPAArating.PG13);
                break;

            case MPAArating.R:
                query = query.Where(t => t.Movie.MPAAratings == MPAArating.R);
                break;

            case MPAArating.Unrated:
                query = query.Where(t => t.Movie.MPAAratings == MPAArating.Unrated);
                break;

            case MPAArating.All:
                break;
            }

            if (FirstDate != null && SecondDate != null)
            {
                query = query.Where(t => DbFunctions.TruncateTime(t.Showing.ShowDate) >= FirstDate && DbFunctions.TruncateTime(t.Showing.ShowDate) <= SecondDate);
            }

            List <Ticket> SelectedTickets = query.ToList();

            //List<Ticket> allTickets = db.Tickets.Where(t => t.Order.Orderstatus == OrderStatus.Completed).ToList();
            List <Order>  allOrders = db.Orders.Where(o => o.Orderstatus == OrderStatus.Completed).ToList();
            MovieReportVM tivm      = new MovieReportVM();

            Decimal tax = 0.0825m;

            foreach (Ticket td in SelectedTickets)
            {
                tivm.NumberOfPurchase += 1;
                tivm.Revenue          += (td.TicketPrice + (td.TicketPrice * tax));
            }
            //return View(tivm);
            return(View("DisplaySearchResults", tivm));
        }
Exemplo n.º 3
0
        public ActionResult DisplaySearchResults(String SearchMovieTitle, String SearchTagline, int[] SearchGenre, String SelectedYear, MPAArating SelectedMPAARating, String SearchActor, YearRank SelectedSortOrder)
        {
            //if they selected a search string, limit results to only repos that meet the criteria
            //create query
            var query = from m in db.Movies
                        select m;

            //check to see if they selected something
            if (SearchMovieTitle != null)
            {
                query = query.Where(m => m.MovieTitle.Contains(SearchMovieTitle));
            }

            if (SearchTagline != null)
            {
                query = query.Where(m => m.Tagline.Contains(SearchTagline));
            }

            if (SearchActor != null)
            {
                query = query.Where(m => m.Actor.Contains(SearchActor));
            }

            if (SearchGenre != null)
            {
                foreach (int GenreID in SearchGenre)
                {
                    //Genre GenreToFind = db.Genres.Find(GenreID);
                    query = query.Where(m => m.Genres.Select(g => g.GenreID).Contains(GenreID));
                }
            }

            switch (SelectedMPAARating)
            {
            case MPAArating.G:
                query = query.Where(m => m.MPAAratings == MPAArating.G);
                break;

            case MPAArating.PG:
                query = query.Where(m => m.MPAAratings == MPAArating.PG);
                break;

            case MPAArating.PG13:
                query = query.Where(m => m.MPAAratings == MPAArating.PG13);
                break;

            case MPAArating.R:
                query = query.Where(m => m.MPAAratings == MPAArating.R);
                break;

            case MPAArating.Unrated:
                query = query.Where(m => m.MPAAratings == MPAArating.Unrated);
                break;

            case MPAArating.All:

                break;
            }

            if (SelectedYear != null && SelectedYear != "")
            {
                Int32 intYear;
                try
                {
                    intYear = Convert.ToInt32(SelectedYear);
                }
                catch
                {
                    ViewBag.Message   = SelectedYear + "is not a valid year, please try again!";
                    ViewBag.AllGenres = GetAllGenres();
                    return(View("DetailedSearch"));
                }
                switch (SelectedSortOrder)
                {
                case YearRank.GreaterThan:
                    query = query.Where(r => r.ReleaseDate.Year >= intYear);
                    break;

                case YearRank.LesserThan:
                    query = query.Where(r => r.ReleaseDate.Year <= intYear);
                    break;
                }

                //query = query.Where(m => m.ReleaseDate.Year == intYear);
            }

            List <Movie> SelectedMovies = query.ToList();

            //order list
            SelectedMovies.OrderByDescending(m => m.MovieTitle);

            ViewBag.AllMovies      = db.Movies.Count();
            ViewBag.SelectedMovies = SelectedMovies.Count();
            //send list to view
            return(View("Index", SelectedMovies));
        }