public async Task <ActionResult <Produto> > Put(int id, AltProdutoViewModel produto) { try { var produtoExiste = await repositorio.Get(id); if (produtoExiste == null) { return(NotFound()); } var produtoAlterado = verificacaoAlteracao(produtoExiste, produto); var produtoComAlteracao = await repositorio.Put(produtoAlterado); return(produtoComAlteracao); } catch (Exception) { throw; } }
private Produto verificacaoAlteracao(Produto produto, AltProdutoViewModel alteracao) { if (alteracao.NomeProduto == null && alteracao == null) { produto.NomeProduto = produto.NomeProduto; } else if (alteracao.NomeProduto != null && produto.NomeProduto != alteracao.NomeProduto) { produto.NomeProduto = alteracao.NomeProduto; } if (alteracao.ModeloProduto == null && alteracao == null) { produto.ModeloProduto = produto.ModeloProduto; } else if (alteracao.ModeloProduto != null && produto.ModeloProduto != alteracao.ModeloProduto) { produto.ModeloProduto = alteracao.ModeloProduto; } if (alteracao.MemoriaProduto == 00 && alteracao == null) { produto.MemoriaProduto = produto.MemoriaProduto; } else if (alteracao.MemoriaProduto != 00 && produto.MemoriaProduto != alteracao.MemoriaProduto) { produto.MemoriaProduto = alteracao.MemoriaProduto; } if (alteracao.Descricao == null && alteracao == null) { produto.Descricao = produto.Descricao; } else if (alteracao.Descricao != null && produto.Descricao != alteracao.Descricao) { produto.Descricao = alteracao.Descricao; } if (alteracao.CodIdentificacao == null && alteracao == null) { produto.CodIdentificacao = produto.CodIdentificacao; } else if (alteracao.CodIdentificacao != null && produto.CodIdentificacao != alteracao.CodIdentificacao) { produto.CodIdentificacao = alteracao.CodIdentificacao; } if (alteracao.Processador == null && alteracao == null) { produto.NomeProduto = produto.NomeProduto; } else if (alteracao.Processador != null && produto.Processador != alteracao.Processador) { produto.Processador = alteracao.Processador; } if (alteracao.DataLancamento == null && alteracao == null) { produto.DataLancamento = produto.DataLancamento; } else if (produto.DataLancamento != produto.DataLancamento) { produto.DataLancamento = alteracao.DataLancamento; } if (alteracao.IdMarca == 00 && alteracao == null) { produto.IdMarca = Convert.ToInt32(produto.IdMarca); } else if (alteracao.IdMarca != 00 && produto.IdMarca != alteracao.IdMarca) { produto.IdMarca = Convert.ToInt32(alteracao.IdMarca); } if (alteracao.IdCategoria == 00 && alteracao == null) { produto.IdCategoria = Convert.ToInt32(produto.IdCategoria); } else if (alteracao.IdCategoria != 00 && produto.IdCategoria != alteracao.IdCategoria) { produto.IdCategoria = Convert.ToInt32(alteracao.IdCategoria); } return(produto); }