Ejemplo n.º 1
0
        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);
 }