public async Task <Guid> Adicionar(AdicionarProduto adicionarProduto) { var produto = new Produto(adicionarProduto.Descricao, adicionarProduto.Valor, adicionarProduto.QuantidadeNoStoque); await _appDbContext.Produtos.AddAsync(produto); await _appDbContext.SaveChangesAsync(); return(produto.Id); }
public async Task <IActionResult> Adicionar([FromBody] AdicionarProduto adicionarProduto) { // recebo a requisição e passo a responsabilidade de fazer a lógica de adicionar para outra classe (Princípio da Responsabilidade ú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 o cadastro // e outra linha que retorna a reposta para o frontend var validate = _validacao.Validate(adicionarProduto); if (!validate.IsValid) { return(BadRequest(validate.Errors)); } Guid id = await _produtoAdd.Adicionar(adicionarProduto); return(CreatedAtAction(nameof(Obter), id)); }
public ExibicaoProdutoListaGeral Adicionar(AdicionarProduto caixa) { var novoProdBanco = new ProdutoSimplesVenda { IdBase = caixa.ProdutoSelecionado.Base.Id, ValorUnitario = caixa.ValorUnitario, Quantidade = caixa.Quantidade, Frete = 0, Seguro = caixa.Seguro, DespesasExtras = caixa.DespesasExtras }; novoProdBanco.CalcularTotalLíquido(); Venda.Produtos.Add(novoProdBanco); return(new ExibicaoProdutoListaGeral { Id = caixa.ProdutoSelecionado.Base.Id, Codigo = caixa.ProdutoSelecionado.Codigo, Descricao = caixa.ProdutoSelecionado.Nome, Quantidade = caixa.Quantidade.ToString("N2"), TotalLiquidoD = novoProdBanco.TotalLíquido, ValorUnitario = caixa.ValorUnitario.ToString("C") }); }