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()); }
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); }
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); }
internal TrailerDTO HateoasMainLinks(TrailerDTO trailer) { TrailerDTO trailerDto = trailer; trailerDto.Links.Add(UrlLink("all", "GetAllTrailers", null)); return(trailerDto); }
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()); }