示例#1
0
        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));
            }
        }
示例#2
0
        public async Task UpdateAsync(GenreForUpdatingDto dto)
        {
            var genreEntity = await context.Genres
                              .FirstOrDefaultAsync(g => g.Id == dto.Id);

            mapper.Map(dto, genreEntity);
        }
示例#3
0
        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);
                }
            }
        }