public async Task <FullFilmDetailsResponse> GetFilmDetailsAsync(long filmId, string userId) { var film = await _filmRepository.GetFilmAsync(filmId); if (film == null) { return(null); } var filmRating = _filmRatingRepository.GetTotalRating(filmId); var filmPersonalRating = await _filmRatingRepository.GetPersonalRatingAsync(filmId, userId); var countries = await _filmCountryRepository.GetFilmCountriesAsync(filmId); var distributor = await _distributorRepository.GetDistributorAsync(film.DistributorId); var people = await _filmPeopleRepository.GetFilmPeopleAsync(film.Id); return(GetFullFilmDetailsResponse(film, filmRating, filmPersonalRating, people, distributor, countries)); }