Ejemplo n.º 1
0
        public async Task <IActionResult> Atualizar(Guid id, [FromBody] AtualizarProduto atualizarProduto)
        {
            // recebo a requisição e passo a responsabilidade de fazer a lógica de adicionar para outra classe (Princípio da Responsabilidae única (SOLID))
            // os metodos do controller não tem de ter muito código. basicamente uma linha que repassa a requisição pra outra classe fazer a trativa
            // e outra linha que retorna a reposta para o frontend
            try
            {
                atualizarProduto.ObterId(id);
                await _produtoUpdate.Atualizar(atualizarProduto);

                return(NoContent());
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
Ejemplo n.º 2
0
        public async Task Atualizar(AtualizarProduto atualizarProduto)
        {
            try
            {
                var produto = await _appDbContext.Produtos.FirstOrDefaultAsync(x => x.Id == atualizarProduto.Id);

                _appDbContext.Entry(produto).State = EntityState.Modified;

                _atualizacaoDoProduto.AtualizarProduto(produto, atualizarProduto);

                await Task.FromResult(_appDbContext.Set <Produto>().Update(produto));

                await _appDbContext.SaveChangesAsync();
            }
            catch (Exception exception)
            {
                throw new Exception("Ops! Algo deu errado no momento de atualizar o produto: " + exception.Message);
            }
        }
Ejemplo n.º 3
0
 public void AtualizarProduto(Produto produto, AtualizarProduto atualizarProduto)
 {
     produto.AddNewProduto(atualizarProduto.Descricao, atualizarProduto.Valor, atualizarProduto.QuantidadeNoEstoque, atualizarProduto.Ativo);
 }