public ActionResult Index(MoviesFilterViewModel model) { ViewData["CityId"] = new SelectList(_context.TblCities.Where(f => f.IsDeleted == false), "CityId", "CityName"); ViewData["CountryId"] = new SelectList(_context.TblCountries.Where(f => f.IsDeleted == false), "CountryId", "CountryName"); ViewData["LanguageId"] = new SelectList(_context.TblLanguage.Where(f => f.IsDeleted == false), "LanguageId", "LanguageName"); ViewData["MovieGenreId"] = new SelectList(_context.TblMovieGenre.Where(f => f.IsDeleted == false), "MovieGenreId", "MovieGenreName"); ViewData["CinemaId"] = new SelectList(_context.TblCinema.Where(f => f.IsDeleted == false), "CinemaId", "CinemaName"); var listOfAllMovies = _movieService.GetFilteredMovies(model); foreach (var item in listOfAllMovies) { var newdescription = item.MovieDescription.Length <= 60 ? item.MovieDescription : item.MovieDescription.Substring(0, 60) + "..."; item.MovieDescription = newdescription; } return(View(listOfAllMovies)); }
public IEnumerable <MovieViewModel> GetFilteredMovies(MoviesFilterViewModel model) { var allMovies = _movieRepository.GetFilteredMovies(model); var targetList = allMovies .Select(x => new MovieViewModel() { MovieId = x.MovieId, CinemaId = x.CinemaId, MovieGenreId = x.MovieGenreId, IsBookable = x.IsBookable, MovieName = x.MovieName, MovieDescription = x.MovieDescription, ReleaseDate = x.ReleaseDate, MovieLength = x.MovieLength, PriceForAdults = x.PriceForAdults, PriceForChildrens = x.PriceForChildrens, //ShowTimeIds = x.ShowTimeIds, Rating = x.Rating, LanguageId = x.LanguageId, //Image = x.Image, CreatedByUserId = x.CreatedByUserId, LastModifiedByUserId = x.LastModifiedByUserId, CreatedOnDate = x.CreatedOnDate, LastModifiedOnDate = x.LastModifiedOnDate, IsDeleted = x.IsDeleted, Cinema = x.Cinema, CreatedByUser = x.CreatedByUser, ImageNavigation = x.ImageNavigation, Language = x.Language, LastModifiedByUser = x.LastModifiedByUser, MovieGenre = x.MovieGenre, TblCustomerComments = x.TblCustomerComments, TblReservations = x.TblReservations, TblShowTime = x.TblShowTime, TblTicket = x.TblTicket, }) .ToList(); return(targetList); }
public List <TblMovie> GetFilteredMovies(MoviesFilterViewModel model) { var result = _context.TblMovie .Include(t => t.ImageNavigation) .Include(t => t.Language) .Include(t => t.Cinema) .ThenInclude(t => t.Adress) .Include(t => t.MovieGenre) .Include(t => t.TblCustomerComments) .Include(t => t.TblReservations) .Include(t => t.TblShowTime) .Include(t => t.TblTicket) .Where(r => r.IsDeleted == false) .Where(t => t.Cinema.IsDeleted == false) .AsQueryable(); if (model != null) { if (model.MovieGenreId.HasValue) { result = result.Where(x => x.MovieGenreId == model.MovieGenreId); } if (model.CountryId.HasValue) { result = result.Where(x => x.Cinema.Adress.CountryId == model.CountryId); } if (model.CityId.HasValue) { result = result.Where(x => x.Cinema.Adress.CityId == model.CityId); } if (model.CinemaId.HasValue) { result = result.Where(x => x.CinemaId == model.CinemaId); } if (model.LanguageId.HasValue) { result = result.Where(x => x.LanguageId == model.LanguageId); } } return(result.ToList()); }
public async Task <JsonResult> GetFilteredMovies(MoviesFilterViewModel model) { try { var movies = await _context.TblMovie .Include(t => t.ImageNavigation) .Include(t => t.Language) .Include(t => t.Cinema) .ThenInclude(t => t.Adress) .Include(t => t.MovieGenre) .Include(t => t.TblCustomerComments) .Include(t => t.TblReservations) .Include(t => t.TblShowTime) .Include(t => t.TblTicket) .Where(r => r.IsDeleted == false) .Where(t => t.Cinema.IsDeleted == false) .ToListAsync(); foreach (var item in movies) { var newdescription = item.MovieDescription.Length <= 60 ? item.MovieDescription : item.MovieDescription.Substring(0, 60) + "..."; item.MovieDescription = newdescription; } var targetList = movies .Select(x => new MovieViewModel() { CinemaId = x.CinemaId, LanguageId = x.LanguageId, MovieId = x.MovieId, MovieGenreId = x.MovieGenreId ?? 1, IsBookable = x.IsBookable, MovieName = x.MovieName ?? "", MovieDescription = x.MovieDescription ?? "", ReleaseDate = x.ReleaseDate ?? "", MovieLength = x.MovieLength ?? "", PriceForAdults = x.PriceForAdults ?? "", PriceForChildrens = x.PriceForChildrens ?? "", ShowTime = x.TblShowTime.FirstOrDefault().Time.Split(' ')[0], Rating = x.Rating ?? "", ImagePath = x.ImageNavigation.ImagePath ?? "", CinemaName = x.Cinema.CinemaName, CityId = x.Cinema.Adress.CityId, CountryId = x.Cinema.Adress.CountryId }) .ToList(); if (model != null) { if (model.MovieGenreId.HasValue) { targetList = targetList.Where(x => x.MovieGenreId == model.MovieGenreId).ToList(); } if (model.CountryId.HasValue) { targetList = targetList.Where(x => x.CountryId == model.CountryId).ToList(); } if (model.CityId.HasValue) { targetList = targetList.Where(x => x.CityId == model.CityId).ToList(); } if (model.CinemaId.HasValue) { targetList = targetList.Where(x => x.CinemaId == model.CinemaId).ToList(); } if (model.LanguageId.HasValue) { targetList = targetList.Where(x => x.LanguageId == model.LanguageId).ToList(); } } return(Json(targetList)); } catch (Exception ex) { return(Json(ex)); } }