public async Task <IActionResult> UpdateeSong( int id, [FromBody] GenreForUpdatingDto dto) { if (!ModelState.IsValid) { return(BadRequest()); } try { var genre = await unitOfWork.Genres.GetAsync(id); if (genre == null) { return(NotFound()); } if (genre.Id != id) { return(BadRequest()); } await unitOfWork.Genres.UpdateAsync(dto); await unitOfWork.SaveAsync(); return(NoContent()); } catch (Exception ex) { logger.LogError(ex, "An error occurred while updating genre.", dto); return(StatusCode(500)); } }
public async Task UpdateAsync(GenreForUpdatingDto dto) { var genreEntity = await context.Genres .FirstOrDefaultAsync(g => g.Id == dto.Id); mapper.Map(dto, genreEntity); }
public async Task Update_Genre_Should_Persiste() { using (var factory = new MusicStoreContextFactory()) { int genreId = 0; using (var context = factory.CreateMusicStoreContext()) { var genre = new GenreEntity { Name = "Name" }; context.Genres.Add(genre); context.SaveChanges(); genreId = genre.Id; } using (var context = factory.CreateMusicStoreContext()) { var genreForUpdateDto = new GenreForUpdatingDto { Id = genreId, Name = "Updated" }; var unitOfWork = new UnitOfWork(context, _mapper); await unitOfWork.Genres.UpdateAsync(genreForUpdateDto); await unitOfWork.SaveAsync(); } using (var context = factory.CreateMusicStoreContext()) { var genre = context.Genres.First(); Assert.Equal("Updated", genre.Name); } } }