Exemplo n.º 1
0
        public ObjectResult Put(int id, [FromBody] EpisodioEdicaoViewModel episodioTemp)
        {
            if (id != episodioTemp.Id)
            {
                ModelState.AddModelError("Id", "Id da requisição difere do Id do episódio.");
            }
            if (!_podcastRepository.Existe(episodioTemp.Id))
            {
                ModelState.AddModelError("Id", "Episódio inexistente.");
            }
            if (!_podcastRepository.Existe(episodioTemp.PodcastId))
            {
                ModelState.AddModelError("PodcastId", "Podcast inexistente.");
            }
            if (!ModelState.IsValid)
            {
                Response.StatusCode = StatusCodes.Status400BadRequest;
                return(ResponseUtils.GenerateObjectResult("Erro ao editar o episódio", ModelState.ListarErros()));
            }

            var episodio = new Episodio()
            {
                Id         = episodioTemp.Id,
                Descricao  = episodioTemp.Descricao,
                Duracao    = episodioTemp.Duracao,
                Lancamento = episodioTemp.Lancamento,
                PodcastId  = episodioTemp.PodcastId,
                Titulo     = episodioTemp.Titulo,
                LinkAudio  = episodioTemp.LinkAudio
            };

            Response.StatusCode = StatusCodes.Status200OK;
            _episodioRepository.Editar(episodio);
            return(ResponseUtils.GenerateObjectResult("Episódio editado com sucesso!", episodio));
        }