Пример #1
0
        public ActionResult Index()
        {
            var context = new KinoContext();

            var queryResults =
                (from mov in context.Movies
                 join screen in context.Screenings on mov.ID equals screen.MovieId
                 where (screen.ScreeningStart.Value.Year == System.DateTime.Now.Year & screen.ScreeningStart.Value.Month == System.DateTime.Now.Month)
                 select new UpcomingScreening {
                Title = mov.Title,
                genre = mov.Genre.Name,
                Image = mov.Files.FirstOrDefault().Content,
                language = screen.Language,
                subtitleLanguage = screen.SubtitleLanguage,
                Description = mov.Description,
                length = ((screen.ScreeningEnd.Value.Hour - screen.ScreeningStart.Value.Hour) * 60) + (screen.ScreeningEnd.Value.Minute - screen.ScreeningStart.Value.Minute),
                youtube_link = mov.YouTubeLink,
                startTime = screen.ScreeningStart.Value,
                venue = screen.Venue.Name,
                isPremiere = (bool)screen.IsPremiere,
                rating = mov.Rating
            }).ToList();
            var viewModel = new UpcomingScreeningsViewModel();

            viewModel.ScreeningItems = queryResults;

            return(View(viewModel));
        }
Пример #2
0
        // GET: Find
        public ActionResult Index(string SearchString, DateTime?ScreeningStart, DateTime?ScreeningEnd, DateTime?ReleaseStart, DateTime?ReleaseEnd, int?SelectedGenreID = 0)
        {
            var context = new KinoContext();


            var queryResults =
                (from mov in context.Movies
                 join screen in context.Screenings on mov.ID equals screen.MovieId                                                                         //Select movies_screens
                 where SearchString == null | mov.Title.Contains(SearchString)                                                                             // Searchstring ==null -> match all if string not inputted
                 where (ScreeningStart == null | ScreeningStart <= screen.ScreeningStart) & (ScreeningEnd == null | screen.ScreeningStart <= ScreeningEnd) // Where screeningStart is in selected period
                 where (ReleaseStart == null | ReleaseStart <= mov.ReleaseDate) & (ReleaseEnd == null | mov.ReleaseDate <= ReleaseEnd)                     // Where Release is in selected period
                 where SelectedGenreID == 0 | SelectedGenreID == mov.Genre.ID
                 select new UpcomingScreening
            {
                Title = mov.Title,
                genre = mov.Genre.Name,
                Image = mov.Files.FirstOrDefault().Content,
                language = screen.Language,
                subtitleLanguage = screen.SubtitleLanguage,
                Description = mov.Description,
                length = ((screen.ScreeningEnd.Value.Hour - screen.ScreeningStart.Value.Hour) * 60) + (screen.ScreeningEnd.Value.Minute - screen.ScreeningStart.Value.Minute),
                youtube_link = mov.YouTubeLink,
                startTime = screen.ScreeningStart.Value,
                venue = screen.Venue.Name,
                isPremiere = (bool)screen.IsPremiere,
                rating = mov.Rating
            }).ToList();
            var viewModel = new UpcomingScreeningsViewModel();

            viewModel.ScreeningItems = queryResults;
            ViewBag.SelectedGenreId  = new SelectList(context.Genres, "ID", "Name", SelectedGenreID);
            return(View(viewModel));
        }