예제 #1
0
        public ObjectResult Put(int id, [FromBody] PodcastEdicaoViewModel podcastTemp)
        {
            if (id != podcastTemp.Id)
            {
                ModelState.AddModelError("Id", "Id da requisição difere do Id da categoria.");
            }
            if (!_podcastRepository.Existe(podcastTemp.Id))
            {
                ModelState.AddModelError("Id", "Podcast inexistente.");
            }
            if (!_categoriaRepository.Existe(podcastTemp.CategoriaId))
            {
                ModelState.AddModelError("CategoriaId", "Categoria inexistente.");
            }
            if (!ModelState.IsValid)
            {
                Response.StatusCode = StatusCodes.Status400BadRequest;
                return(ResponseUtils.GenerateObjectResult("Erro ao editar categoria.",
                                                          ModelState.ListarErros()));
            }
            var podcast = new Podcast()
            {
                Id          = podcastTemp.Id,
                Nome        = podcastTemp.Nome,
                Descricao   = podcastTemp.Descricao,
                Autor       = podcastTemp.Autor,
                Imagem      = podcastTemp.Imagem,
                Link        = podcastTemp.Link,
                CategoriaId = podcastTemp.CategoriaId
            };

            _podcastRepository.Editar(podcast);
            Response.StatusCode = StatusCodes.Status200OK;
            return(ResponseUtils.GenerateObjectResult("Podcast editado com sucesso!",
                                                      podcastTemp));
        }