Exemplo n.º 1
0
        public async Task <ActionResult> UpdateTrailer(int trailerId, TrailerDTO trailerDto)
        {
            try
            {
                var oldTrailer = await _trailerRepository.GetTrailerById(trailerId);

                if (oldTrailer == null)
                {
                    return(NotFound("$Could not find trailer"));
                }

                var newTrailer = _mapper.Map(trailerDto, oldTrailer);
                _trailerRepository.Update(newTrailer);

                if (await _trailerRepository.Save())
                {
                    return(NoContent());
                }
            }
            catch (Exception e)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}"));
            }

            return(BadRequest());
        }
Exemplo n.º 2
0
        public static TrailerDTO GetTrailer(string query)
        {
            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                ApiKey          = _key,
                ApplicationName = "application/json"
            });

            var searchListRequest = youtubeService.Search.List("id,snippet");

            searchListRequest.Q          = $"{query} trailer";
            searchListRequest.MaxResults = 1;

            var searchListResponse = searchListRequest.Execute();

            var trailer      = new TrailerDTO();
            var searchResult = searchListResponse.Items.FirstOrDefault();

            if (searchResult != null)
            {
                trailer.Id        = searchResult.Id.VideoId;
                trailer.Thumbnail = searchResult.Snippet.Thumbnails.High.Url;
                trailer.Url       = $"https://www.youtube.com/watch?v={trailer.Id}";
                trailer.Title     = searchResult.Snippet.Title;
            }

            return(trailer);
        }
Exemplo n.º 3
0
 internal TrailerDTO HateoasGetSingleMethodLinks(TrailerDTO trailerDto)
 {
     trailerDto.Links.Add(UrlLink("all", "GetAllTrailers", null));
     trailerDto.Links.Add(UrlLink("_self", "GetTrailerByIdAsync", new { id = trailerDto.MovieID }));
     trailerDto.Links.Add(UrlLinkCrud("_update", "GetTrailerByIdAsync", "UpdateTrailer", new { id = trailerDto.MovieID }));
     trailerDto.Links.Add(UrlLinkCrud("_delete", "GetTrailerByIdAsync", "DeleteTrailer", new { id = trailerDto.MovieID }));
     return(trailerDto);
 }
Exemplo n.º 4
0
        internal TrailerDTO HateoasMainLinks(TrailerDTO trailer)
        {
            TrailerDTO trailerDto = trailer;

            trailerDto.Links.Add(UrlLink("all", "GetAllTrailers", null));

            return(trailerDto);
        }
Exemplo n.º 5
0
        public async Task <ActionResult <TrailerDTO> > PostActor(TrailerDTO trailerDto)
        {
            try
            {
                var mappedEntity = _mapper.Map <Trailer>(trailerDto);

                _trailerRepository.Add(mappedEntity);
                if (await _trailerRepository.Save())
                {
                    return(Created($"/api/v1.0/actors/{mappedEntity.TrailerID}", _mapper.Map <TrailerDTO>(mappedEntity)));
                }
            }
            catch (Exception e)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}"));
            }

            return(BadRequest());
        }