public async Task <IActionResult> GetMovies([FromQuery] PaginationDto pagination) { var top = 6; var today = DateTime.Today; var upcomingRelease = await _context.Movies.Where(x => x.ReleaseDate < today).OrderBy(x => x.ReleaseDate) .Take(top).ToListAsync(); var inTheaters = await _context.Movies.Where(x => x.InTheaters).Take(top).ToListAsync(); var result = new IndexMoviePageDto() { InTheaters = _mapper.Map <List <MovieDto> >(inTheaters), UpcomingRelease = _mapper.Map <List <MovieDto> >(upcomingRelease) }; return(Ok(result)); /*//IQueryable Movie * IQueryable<Movie> queryable = _context.Movies; * * //Save Count Page To Header * await HttpContext.InsertPaginationParametersInResponse(queryable: queryable, pagination.RecordsPerPage); * //Insert Take Skip * var movies = await queryable.Paginate(pagination).ToListAsync(); * //Mapping * var moviesDtos = _mapper.Map<List<MovieDto>>(source: movies); * //Return * return Ok(moviesDtos);*/ }
public async Task <ActionResult <IndexMoviePageDto> > GetMovies() { var top = 7; var today = DateTime.Today; var upcomingRelease = await context.Movies .Where(m => m.ReleaseDate > today) .OrderBy(m => m.ReleaseDate) .Take(top) .ToListAsync(); var inTheaters = await context.Movies .Where(m => m.InTheaters) .Take(top) .ToListAsync(); var result = new IndexMoviePageDto(); result.InTheaters = mapper.Map <List <MovieDto> >(inTheaters); result.UpcomingRelease = mapper.Map <List <MovieDto> >(upcomingRelease); return(result); }
public async Task <ActionResult <IndexMoviePageDto> > Get() { var top = 6; var today = DateTime.Today; var upcomingRealeases = await _context.Movies .Where(x => x.ReleaseDate > today) .OrderBy(x => x.ReleaseDate) .Take(top) .ToListAsync(); var inTheaters = await _context.Movies .Where(x => x.InTheaters) .Take(top) .ToListAsync(); var result = new IndexMoviePageDto { UpcomingRealeases = _mapper.Map <List <MovieDto> >(upcomingRealeases), InTheaters = _mapper.Map <List <MovieDto> >(inTheaters) }; return(Ok(result)); }