public async Task <ActionResult <Categoria> > Put(int id, AltCategoriaViewModel categoria) { try { var categoriaExistente = await repositorio.Get(id); if (categoriaExistente == null) { return(NotFound("Categoria não foi encontrada!")); } var categoriaAlterada = verificacaoAlteracao(categoriaExistente, categoria); var categoriaComAlteracao = await repositorio.Put(categoriaAlterada); return(categoriaComAlteracao); } catch (DbUpdateConcurrencyException) { var validarCategoria = repositorio.Get(id); if (validarCategoria == null) { return(NotFound("Categoria não existe")); } else { throw; } } }
private Categoria verificacaoAlteracao(Categoria categoria, AltCategoriaViewModel alteracao) { if (alteracao.nomeCategoria == null && alteracao == null) { categoria.NomeCategoria = categoria.NomeCategoria; } else if (alteracao.nomeCategoria != null && categoria.NomeCategoria != alteracao.nomeCategoria) { categoria.NomeCategoria = alteracao.nomeCategoria; } return(categoria); }