static void Main() { int madeira = 0, ferro = 30, plastico = 10, ceramica = 0; string fornecedor = "voce", nome_produto = "pc"; ProdutoFinal produto = new ProdutoFinal(fornecedor, nome_produto, madeira, ferro, plastico, ceramica); System.Console.WriteLine("os dados são:\nnome do produto {0}\nquantidade de madeira(kilo) : {1}\nquantidade de ferro(kilo) : {2}\nquantidade de plastico(kilo) : {3}\nquantidade ceramica(kilo) : {4}", nome_produto, produto.madeira, produto.ferro, produto.plastico, produto.ceramica); }
private IActionResult AlterarProdutoFinal(int id, ProdutoFinal produto) { if (produto.ValidaQuantidadeEstoque() && produto.ValidaValor()) { return(AlterarProduto(id, produto)); } else if (!produto.ValidaQuantidadeEstoque()) { return(BadRequest("Quantidade inválida.")); } else { return(BadRequest("Valor inválido.")); } }
private IActionResult IncluirProdutoFinal(ProdutoFinal produto, bool validaEstoque) { if ((produto.ValidaQuantidadeEstoque() || !validaEstoque) && produto.ValidaValor()) { return(IncluirProduto(produto, validaEstoque)); } else if (!produto.ValidaQuantidadeEstoque() && validaEstoque) { return(BadRequest("Quantidade inválida.")); } else { return(BadRequest("Valor inválido.")); } }
public static void Renderizar() { ProdutoFinal p = new ProdutoFinal(); Console.WriteLine(" -- CADASTRAR PRODUTO --\n"); //Console.WriteLine("Digite o nome do produto:"); //p.Nome = Console.ReadLine(); Console.WriteLine("Digite o preço do produto:"); p.Preco = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Digite a quantidade do produto:"); p.Quantidade = Convert.ToInt32(Console.ReadLine()); if (ProdutoDAO.CadastrarProduto(p)) { Console.WriteLine("\nProduto cadastrado com sucesso!"); } else { Console.WriteLine("\nEsse produto já existe!"); } }
public ActionResult <List <FechamentoCaixaDTO> > Put(int id, [FromBody] Caixa caixa) { if (caixa == null) { return(BadRequest("Não foi possível fechar o caixa, sem dados para o fechamento.")); } if (id == caixa.Id) { var caixaBaseDeDados = _caixaRepositorio.Selecionar(id); if (caixaBaseDeDados.EstaAberto()) { foreach (var item in caixa.Descartes) { ProdutoFinal descarte = (ProdutoFinal)_produtoRepositorio.Selecionar(item.IdProdutoFinal); Estoque estoqueDescarte = new Estoque() { Produto = descarte, Data = DateTime.Now, Quantidade = item.Quantidade, TipoEstoque = EnumTipoEstoque.SAIDA }; _estoqueRepositorio.Incluir(estoqueDescarte); descarte.QuantidadeEstoque -= estoqueDescarte.Quantidade; _produtoRepositorio.Alterar(descarte); } caixaBaseDeDados.DataFechameto = DateTime.Now; caixaBaseDeDados.SituacaoCaixa = EnumSitucaoCaixa.FECHADO; _caixaRepositorio.Alterar(caixaBaseDeDados); var valores = _vendaRepositorio.VendaCaixa(caixa.Id); return(Ok(valores)); } } return(BadRequest("Impossível realizar o fechamento do caixa, pois o caixa não está aberto.")); }
[ProducesResponseType(500)] //Erro interno do servidor public IActionResult Post([FromBody] ProdutoFinal produto) { bool validaEstoque = true; return(IncluirProdutoFinal(produto, validaEstoque)); }
[ProducesResponseType(500)] //Erro interno do servidor public IActionResult Put(int id, [FromBody] ProdutoFinal produto) { return(AlterarProdutoFinal(id, produto)); }
[ProducesResponseType(500)] //Erro interno do servidor public ActionResult <VendaDTO> RealizarVenda([FromBody] Venda venda) { try { if (venda == null) { return(BadRequest("Venda não foi finalizada com sucesso")); } if (venda.Data.Date < DateTime.Now.Date) { return(BadRequest("A venda não foi realizada, a data da venda não pode ser anterior a hoje")); } if (venda.Data.Date > DateTime.Now.Date) { return(BadRequest("A venda não foi realizada, a data da venda não pode ser posterior a hoje")); } if (venda.Valor <= 0) { return(BadRequest("Não será permitido realizar a venda se o valor for zero ")); } if (venda.TipoPagamento == EnumTipoPagamento.DINHEIRO && venda.ValorRecebido < venda.Valor) { return(BadRequest("Não será permitido realizar a venda. O valor recebido é menor que o valor da venda.")); } decimal totalVenda = 0; foreach (var item in venda.Itens) { ProdutoFinal produtoFinal = (ProdutoFinal)_produtoRepositorio.Selecionar(item.IdProdutoFinal); totalVenda += produtoFinal.Valor * item.Quantidade; if ((produtoFinal.QuantidadeEstoque - item.Quantidade) < 0) { return(BadRequest($"Não será permitido realizar a venda. O produto {produtoFinal.Nome} está com estoque indisponível")); } } if (venda.Valor != totalVenda) { return(BadRequest("Não será permitido realizar a venda. O Valor da venda está incorreto.")); } var caixa = _caixaRepositorio.Selecionar(venda.Caixa.Id); if (!caixa.EstaAberto()) { return(BadRequest("Não será permitido realizar a venda se o caixa estiver fechado")); } venda.Caixa = caixa; foreach (var item in venda.Itens) { ProdutoFinal produtoFinal = (ProdutoFinal)_produtoRepositorio.Selecionar(item.IdProdutoFinal); Estoque estoque = new Estoque() { Produto = produtoFinal, Data = DateTime.Now, Quantidade = item.Quantidade, TipoEstoque = EnumTipoEstoque.SAIDA }; _estoqueRepositorio.Incluir(estoque); produtoFinal.QuantidadeEstoque -= estoque.Quantidade; _produtoRepositorio.Alterar(produtoFinal); } _vendaRepositorio.Incluir(venda); VendaDTO vendaRetorno = new VendaDTO(); vendaRetorno.Mensagem = "Venda efetuada com sucesso"; vendaRetorno.ValorPago = venda.Valor; if (venda.TipoPagamento == EnumTipoPagamento.DINHEIRO) { vendaRetorno.Troco = venda.ValorRecebido - venda.Valor; } return(Ok(vendaRetorno)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError)); } }