// PUT api/Movies/5 public async Task<IHttpActionResult> PutMovie(int id, Movie movie) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != movie.ID) { return BadRequest(); } db.Entry(movie).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MovieExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public async Task<IHttpActionResult> PostMovie(Movie movie) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Movies.Add(movie); await db.SaveChangesAsync(); return CreatedAtRoute("DefaultApi", new { id = movie.ID }, movie); }
private IEnumerable<Movie> GetYoutubeVideos(string searchTerm) { var movies = new List<Movie>(); try { var youtubeService = new YouTubeService(new BaseClientService.Initializer() { ApiKey = "AIzaSyBOqb0Fb2X3qvqcV6y2Wpn_jZWlh8lGSD8", ApplicationName = this.GetType().ToString() }); var searchListRequest = youtubeService.Search.List("snippet"); searchListRequest.Q = searchTerm; searchListRequest.MaxResults = 10; // Call the search.list method to retrieve results matching the specified query term. var searchListResponse = searchListRequest.Execute(); foreach (var searchResult in searchListResponse.Items) { if (searchResult.Id.Kind != "youtube#video") continue; var movie = new Movie { Id = searchResult.Id.VideoId, Title = searchResult.Snippet.Title, Link = "https://www.youtube.com/watch?v=" + searchResult.Id.VideoId }; if (searchResult.Snippet.Thumbnails.Standard != null) { movie.Thumbnail = searchResult.Snippet.Thumbnails.Standard.Url; } else if (searchResult.Snippet.Thumbnails.Medium != null) { movie.Thumbnail = searchResult.Snippet.Thumbnails.Medium.Url; } else if (searchResult.Snippet.Thumbnails.High != null) { movie.Thumbnail = searchResult.Snippet.Thumbnails.High.Url; } else if (searchResult.Snippet.Thumbnails.Maxres != null) { movie.Thumbnail = searchResult.Snippet.Thumbnails.Maxres.Url; } movies.Add(movie); } } catch (Exception) { //exception handling here } return movies; }