public async Task <MovieRes> GetDetailsAsync(MovieGetDetailsReq req) { ProjectionGetDetailsByMovieIdReq projectionReq = new ProjectionGetDetailsByMovieIdReq { MovieId = req.Id }; IList <ProjectionRes> projections = await _projectionsRepository.GetProjectionsForMovieAsync(projectionReq); MovieRes res = await _dbContext.Movies .Where(m => m.Id == req.Id) .Select(m => new MovieRes { Id = m.Id, Name = m.Name, TrailerURL = m.TrailerUrl, PosterURL = m.PosterUrl, Duration = m.Duration, Synopsis = m.Synopsis, Director = m.Director, Projections = projections, GenreNames = m.GenreLinks .Select(mgl => mgl.MovieGenre.Name) .ToList(), ActorNames = m.ActorMovieLinks .Select(aml => aml.Actor.Name) .ToList() }).FirstOrDefaultAsync(); return(res); }
public async Task <IActionResult> Details(MovieGetDetailsReq req) { MovieRes res = await _moviesRepository.GetDetailsAsync(req); res.Projections = res.Projections.OrderBy(p => p.ProjectionTime).ToList(); return(View(res)); }
/* * public async Task<Actor> GetActorByName(string name) * { * Actor actor = _dbContext.Actors.Where(a => a.Name == name).FirstOrDefault(); * return actor; * } * * public async Task<int> GetActorsId(string name) * { * Actor actor = _dbContext.Actors.Where(a => a.Name == name).FirstOrDefault(); * return actor.Id; * }*/ public async Task <Movie> GetMovieById(MovieGetDetailsReq req) { Movie movie = await _dbContext.Movies.Where(m => m.Id == req.Id) .FirstOrDefaultAsync(); return(movie); }