示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        /*
         * 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);
        }