public async Task <PlexMediaItemRow> Get(int theMovieDbId) { var plexMediaItem = await GetPlexMediaItem(AgentTypes.TheMovieDb, theMovieDbId.ToString()); if (plexMediaItem == null) { var externalIds = await _theMovieDbService.GetMovieExternalIds(theMovieDbId); if (!string.IsNullOrEmpty(externalIds.Imdb_Id)) { plexMediaItem = await GetPlexMediaItem(AgentTypes.Imdb, externalIds.Imdb_Id); } } return(plexMediaItem); }
public async Task <ValidationContext> Handle(CreateMovieRequestCommand request, CancellationToken cancellationToken) { var resultContext = new ValidationContext(); var movieDetail = await GetMovieDetails(request.TheMovieDbId); var externalIds = await _theMovieDbService.GetMovieExternalIds(request.TheMovieDbId); await ValidateRequestNotDuplicate(request, resultContext); await ValidateRequestedItemNotInPlex(request.TheMovieDbId, externalIds, resultContext); if (!resultContext.IsSuccessful) { return(resultContext); } await CreateRequest(request, movieDetail, externalIds); await _unitOfWork.CommitAsync(); return(resultContext); }
private void GivenExternalIdsFromTheMovieDb() { _externalIds = new ExternalIdsBuilder().Build(); _theMovieDbService.GetMovieExternalIds(Arg.Any <int>()).Returns(_externalIds); }