예제 #1
0
        public async Task <IActionResult> UpdateGenre(Guid genreId, GenrePutRequest genrePutRequest)
        {
            var genreFromRepo = await _genreRepository.GetGenre(genreId);

            if (!_genreRepository.GenreExists(genreId))
            {
                //TODO: Add genre if not exists
                var genreToAdd = _mapper.Map <Genre>(genrePutRequest);
                genreToAdd.Id = genreId;
                _genreRepository.AddGenre(genreToAdd);
                await _genreRepository.SaveAsync();

                var genreGetResponse = _mapper.Map <GenreGetResponse>(genreToAdd);

                return(CreatedAtRoute(
                           "GetGenre",
                           new
                {
                    version = HttpContext.GetRequestedApiVersion().ToString(),
                    genreId = genreGetResponse.Id
                },
                           genreGetResponse));
            }


            _mapper.Map(genrePutRequest, genreFromRepo);

            _genreRepository.UpdateGenre(genreFromRepo);

            await _genreRepository.SaveAsync();

            return(NoContent());
        }
예제 #2
0
 public async Task <ActionResult <bool> > PutGenre(GenrePutRequest request)
 {
     return(Ok(await _repository.Update(_mapper.Map <Genre>(request))));
 }