private async Task UpdateResource() { var movieToUpdate = new MovieForUpdate() { Title = "Pulp Fiction", Description = "The movie with Zed.", DirectorId = Guid.Parse("d28888e9-2ba9-473a-a40f-e38cb54f9b35"), ReleaseDate = new DateTimeOffset(new DateTime(1992, 9, 2)), Genre = "Crime, Drama" }; var serializedMovieToUpdate = JsonConvert.SerializeObject(movieToUpdate); var request = new HttpRequestMessage(HttpMethod.Put, "api/movies/5b1c2b4d-48c7-402a-80c3-cc796ad49c6b"); request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); request.Content = new StringContent(serializedMovieToUpdate); request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await _httpClient.SendAsync(request); response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); var updatedMovie = JsonConvert.DeserializeObject <Movie>(content); }
public Task UpdateMovie(long movieId, MovieForUpdate movieForUpdate) { if (movieForUpdate is null) { throw new ArgumentNullException(nameof(movieForUpdate)); } return(UpdateMovie()); async Task UpdateMovie() { var movieFromDb = await _context .Movies .FirstOrDefaultAsync(movie => movie.MovieId == movieId) .ConfigureAwait(false); if (movieFromDb == null) { throw new EntityNotFoundException($"A movie having id '{movieId}' could not be found"); } movieFromDb.Title = movieForUpdate.Title; movieFromDb.Genres = Genre.NormalizeGenres(movieForUpdate.Genres); await _context.SaveChangesAsync().ConfigureAwait(false); } }
public async Task UpdateResource() { var movieToUpdate = new MovieForUpdate { Title = "Pulp Fiction", Description = "Some desc", DirectorId = Guid.Parse("69cb27e5-46ac-4434-a462-cf2826cd61aa"), ReleaseDate = new DateTimeOffset(new DateTime(1992, 9, 2)), Genre = "Crime, Drama" }; var serializedMovieToUpdate = JsonConvert.SerializeObject(movieToUpdate); const string url = "api/movies/5b1c2b4d-48c7-80c3-cc796ad49c6b"; var request = new HttpRequestMessage(HttpMethod.Put, url); request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(appJson)); request.Content = new StringContent(serializedMovieToUpdate); request.Content.Headers.ContentType = new MediaTypeHeaderValue(appJson); var response = await httpClient.SendAsync(request); var content = await response.Content.ReadAsStringAsync(); var updatedMovie = JsonConvert.DeserializeObject <Movie>(content); Debug.WriteLine(updatedMovie); }
public static UpdateMovieCommand ConvertToCommand(this MovieForUpdate movie, Guid id) { return(new UpdateMovieCommand { Id = id, Title = movie.Title, Description = movie.Description, Genre = movie.Genre, YearReleased = movie.YearReleased }); }
public async Task <Movie> PartiallyUpdateMovieAsync(Movie movieEntity, MovieForUpdate movieForUpdate) { Mapper.Map(movieForUpdate, movieEntity); if (!await SaveChangesAsync()) { throw new BadRequestException($"Something went wrong. Could not update movie with ID: {movieEntity.Id}"); } // return the updated movie, after mapping it return(_mapper.Map <Movie>(movieEntity)); }
public async Task <Movie> UpdateMovieAsync(Guid movieId, MovieForUpdate movieToUpdate) { var movieEntity = await _context.Movies.FirstOrDefaultAsync(m => m.Id == movieId); if (movieEntity == null) { throw new NotFoundException(nameof(Movie), movieId); } // map the inputted object into the movie entity this ensures properties will get updated _mapper.Map(movieToUpdate, movieEntity); if (!await SaveChangesAsync()) { throw new BadRequestException($"Something went wrong. Could not update movie with ID: {movieId}"); } // return the updated movie, after mapping it return(_mapper.Map <Movie>(movieEntity)); }
public async Task PutResponse() { var movieToUpdate = new MovieForUpdate() { Title = "Pulp Fiction", Description = "The movie with Zed.", DirectorId = Guid.Parse("d28888e9-2ba9-473a-a40f-e38cb54f9b35"), ReleaseDate = new DateTimeOffset(new DateTime(1992, 9, 2)), Genre = "Crime, Drama" }; var parsedMovie = JsonConvert.SerializeObject(movieToUpdate); var response = await _httpClient.PutAsync("api/movies/5b1c2b4d-48c7-402a-80c3-cc796ad49c6b", new StringContent(parsedMovie, Encoding.UTF8, "application/json")); response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); var movieUpdated = JsonConvert.DeserializeObject <Movie>(content); }
public MovieForUpdateValidatorTest() { _validator = new MovieForUpdateValidator(); _movie = DataStructures.ValidMovieForUpdate; }
public async Task <IActionResult> UpdateMovie([FromRoute] long movieId, [FromBody] MovieForUpdate movie) { await _movieService.UpdateMovie(movieId, movie); return(NoContent()); }
public async Task <IActionResult> UpdateMovieAsync(Guid id, [FromBody] MovieForUpdate movie, CancellationToken cancellationToken) => await _processor.ProcessAsync(movie.ConvertToCommand(id), cancellationToken);
public async Task <IActionResult> UpdateMovie(Guid movieId, MovieForUpdate movieForUpdate) { var _movie = await _moviesRepository.UpdateMovieAsync(movieId, movieForUpdate); return(Ok(_movie)); }