//CONSULTAR POR ID public PedidoItemColecao ConsultarID(int idPedido) { try { PedidoItemColecao pedidoItemColecao = new PedidoItemColecao(); acessoDados.LimparParamentros(); acessoDados.AdicionarParametros("@IDPedido", idPedido); DataTable dataTable = acessoDados.ExecutarConsulta(CommandType.StoredProcedure, "SP_PedidoItem_Consultar"); foreach (DataRow dataRow in dataTable.Rows) { PedidoItem pedidoItem = new PedidoItem(); pedidoItem.Pedido = new Pedido(); pedidoItem.Produto = new Produto(); pedidoItem.Pedido.IDPedido = Convert.ToInt32(dataRow["IDPedido"]); pedidoItem.Produto.IDProduto = Convert.ToInt32(dataRow["IDProduto"]); pedidoItem.Produto.Descricao = Convert.ToString(dataRow["DescricaoProduto"]); pedidoItem.Quantidade = Convert.ToInt32(dataRow["Quantidade"]); pedidoItem.ValorUnitario = Convert.ToDecimal(dataRow["ValorUnitario"]); pedidoItem.PercentualDesconto = Convert.ToDecimal(dataRow["PercentualDesconto"]); pedidoItem.ValorDesconto = Convert.ToDecimal(dataRow["ValorDesconto"]); pedidoItem.ValorTotal = Convert.ToDecimal(dataRow["ValorTotal"]); pedidoItemColecao.Add(pedidoItem); } return(pedidoItemColecao); } catch (Exception exception) { throw new Exception("ERRO AO CONSULTAR ITEM DO PEDIDO. DETALHES: " + exception.Message); } }
//CONSULTAR POR ID public PedidoItemColecao ConsultarID(int idPedido) { PedidoItemDAL pedidoItemDAL = new PedidoItemDAL(); PedidoItemColecao pedidoItemColecao = new PedidoItemColecao(); pedidoItemColecao = pedidoItemDAL.ConsultarID(idPedido); return(pedidoItemColecao); }
private void btnNovaVenda_Click(object sender, EventArgs e) { try { grbDadosVenda.Enabled = true; grbListaProdutos.Enabled = true; btnSelecionarCliente.Enabled = true; btnProcurarProduto.Enabled = true; txtQuantidade.Enabled = true; btnMais.Enabled = true; btnMenos.Enabled = true; btnOk.Enabled = true; txtDescontoItem.Enabled = true; btnNovaVenda.Enabled = false; txtDescontoItem.Text = "0"; txtValorTotal.Text = "0"; txtValorFinal.Text = "0"; txtDesconto.Text = "0"; //inicializa objetos pedido = null; pedidoItens = null; pedidoItem = null; try { clienteSelecionado = ControleFormulario.abreFrmConsultaClienteVenda(AcaoTelaConsultaCadastros.ClienteConsultaVenda, filialLogada); txtCliente.Text = clienteSelecionado.Nome; txtDescontoItem.Focus(); } catch { MessageBox.Show("Não foi possível procurar um cliente."); } try { produtoSelecionado = ControleFormulario.abreFrmConsultaProdutoVenda(AcaoTelaConsultaCadastros.ProdutoConsultaVenda, filialLogada); txtproduto.Text = produtoSelecionado.Nome; txtQuantidade.Focus(); } catch { MessageBox.Show("Não foi possível procurar um produto."); } } catch { MessageBox.Show("Erro ao abrir uma nova venda. Entre em contato com o suporte."); } }
public PedidoItemColecao Consultar(int iDPedido) { try { PedidoItemColecao pedidoItemColecao = new PedidoItemColecao(); acessoDados.LimparParametros(); acessoDados.AdicionarParametros("@IDPedido", iDPedido); DataTable dataTable = acessoDados.ExecutarConsulta(CommandType.StoredProcedure, "uspPedidoItemConsultar"); foreach (DataRow dataRow in dataTable.Rows) { PedidoItem pedidoItem = new PedidoItem(); pedidoItem.Pedido = new Pedido(); pedidoItem.Pedido.IDPedido = Convert.ToInt32(dataRow["IDPedido"]); pedidoItem.Produto = new Produto(); pedidoItem.Produto.IDProduto = Convert.ToInt32(dataRow["IDProduto"]); pedidoItem.Produto.Descricao = Convert.ToString(dataRow["DescProduto"]); pedidoItem.Quantidade = Convert.ToInt32(dataRow["Quantidade"]); pedidoItem.ValorUnitario = Convert.ToDecimal(dataRow["Quantidade"]); pedidoItem.PercentualDesconto = Convert.ToDecimal(dataRow["Quantidade"]); pedidoItem.ValorDesconto = Convert.ToDecimal(dataRow["ValorDesconto"]); pedidoItem.ValorTotal = Convert.ToDecimal(dataRow["ValorTotal"]); pedidoItemColecao.Add(pedidoItem); } return(pedidoItemColecao); } catch (Exception ex) { throw new Exception("Erro ao consultar item do pedido. Detalhe: " + ex.Message); } }
//Consultar public PedidoItemColecao Consultar(int idPedido) { try { PedidoItemColecao pedidoItemColecao = new PedidoItemColecao(); acessoDados.limparParametros(); acessoDados.addParametros("@id_pedido", idPedido); DataTable dataTable = acessoDados.executarConsulta(CommandType.StoredProcedure, "ConsultarItensPedido"); foreach (DataRow dataRow in dataTable.Rows) { PedidoItem pedidoItem = new PedidoItem(); pedidoItem.Pedido = new Pedido(); pedidoItem.Pedido.idPedido = Convert.ToInt32(dataRow["Id"]); pedidoItem.Item = new Item(); pedidoItem.Item.idItem = Convert.ToInt32(dataRow["CódigoItem"]); pedidoItem.Item.Descricao = Convert.ToString(dataRow["Descricao"]); pedidoItem.Quantidade = Convert.ToInt32(dataRow["quantidade_PI"]); pedidoItem.valorUnitario = Convert.ToDecimal(dataRow["valorUnitario_PI"]); pedidoItem.percentualDesconto = Convert.ToDecimal(dataRow["percentuaDesconto_PI"]); pedidoItem.valorDesconto = Convert.ToDecimal(dataRow["valorDesconto_PI"]); pedidoItem.valorTotal = Convert.ToDecimal(dataRow["valorTotal_PI"]); pedidoItemColecao.Add(pedidoItem); } return(pedidoItemColecao); } catch (Exception ex) { throw new Exception("Erro ao consultar itens do pedido. Detalhes: " + ex.Message); } }
private void btnOk_Click(object sender, EventArgs e) { if (txtCliente.Text != "" && txtproduto.Text != "") { #region Verifica Se Existe o Produto No Estoque Antes de Inserir na Lista try { EstoqueDisponivel estoqueDisponivel = new EstoqueDisponivel(); EstoqueNegocio estoqueNegocio = new EstoqueNegocio(); estoqueDisponivel = estoqueNegocio.ConsultarEstoqueDisponivel(produtoSelecionado.IDProduto, filialLogada.IDFilial); if (estoqueDisponivel.QuantidadeDisponivel < Convert.ToInt32(txtQuantidade.Text)) { MessageBox.Show ("Não existe a quantidade solicitada em estoque do produto " + estoqueDisponivel.NomeProduto + ". Quantidade disponível: " + estoqueDisponivel.QuantidadeDisponivel + " . Quantidade reservada: " + estoqueDisponivel.QuantidadeReservada); return; } else { EstoqueReservadoNegocio estoqueReservadoNegocio = new EstoqueReservadoNegocio(); EstoqueReservado estoqueReservado = new EstoqueReservado(); estoqueReservado.IDFilial = filialLogada.IDFilial; estoqueReservado.IDProduto = produtoSelecionado.IDProduto; estoqueReservado.Quantidade = Convert.ToInt32(txtQuantidade.Text); string retorno = estoqueReservadoNegocio.Inserir(estoqueReservado); int IDProduto; if (!int.TryParse(retorno, out IDProduto)) { MessageBox.Show("Erro ao inserir produto no estoque reservado"); return; } } } catch (Exception ex) { MessageBox.Show("Erro ao consultar estoque disponível. Detalhes: " + ex.Message); return; } #endregion #region Adicionar Produto Na Lista De Venda try { if (pedido == null) { //Cria o pedido pedido = new Pedido(); pedido.IDOperacao = 1; pedido.IDPessoaDestinatario = clienteSelecionado.IDCliente; pedido.IDPessoaEmitente = filialLogada.IDFilial; pedido.IDSituacao = 1; } //adiciono item no pedido if (pedidoItens == null) { pedidoItens = new PedidoItemColecao(); } if (pedidoItens.Exists(p => p.IDProduto == produtoSelecionado.IDProduto)) { try { var pedidoItemExistente = pedidoItens.Single(p => p.IDProduto == produtoSelecionado.IDProduto); pedidoItemExistente.Quantidade += Convert.ToInt32(txtQuantidade.Text); pedidoItemExistente.ValorTotal += (produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)); decimal valorDescontoItemExistente = ((produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100; pedidoItemExistente.ValorDesconto += decimal.Round(valorDescontoItemExistente, 2); //45 decimal valorTotalItemComDesconto = (produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) - valorDescontoItemExistente; //22,5 pedidoItemExistente.ValorTotalComDesconto += decimal.Round(valorTotalItemComDesconto, 2); pedidoItemExistente.PercentualDesconto = decimal.Round((pedidoItemExistente.ValorDesconto * 100) / pedidoItemExistente.ValorTotal, 2); pedidoItem = pedidoItemExistente; //Adiciona valor total e total com desconto ao pedido decimal valorTotalDoItemNovo = produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text); pedido.ValorTotal += valorTotalDoItemNovo; txtValorTotal.Text = pedido.ValorTotal.ToString(); decimal valorTotalDoitemNovoComDesconto = valorTotalDoItemNovo - valorDescontoItemExistente; pedido.ValorTotalComDesconto += valorTotalDoitemNovoComDesconto; txtValorFinal.Text = pedido.ValorTotalComDesconto.ToString(); } catch (Exception ex) { MessageBox.Show("Erro ao inserir produto. Detalhes: " + ex.Message); } } else { pedidoItem = new PedidoItem(); pedidoItem.IDProduto = produtoSelecionado.IDProduto; pedidoItem.ProdutoNome = produtoSelecionado.Nome; pedidoItem.Quantidade = Convert.ToInt32(txtQuantidade.Text); pedidoItem.ValorTotal = produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text); decimal valorDescontoItem = ((produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100; pedidoItem.ValorDesconto = decimal.Round(valorDescontoItem, 2); pedidoItem.ValorUnitario = produtoSelecionado.PrecoVenda; pedidoItem.ValorTotalComDesconto = decimal.Round((produtoSelecionado.PrecoVenda * Convert.ToInt32(txtQuantidade.Text)) - valorDescontoItem, 2); pedidoItem.PercentualDesconto = decimal.Round((pedidoItem.ValorDesconto * 100) / pedidoItem.ValorTotal, 2); //Adiciona valor total e total com desconto ao pedido pedido.ValorTotal += pedidoItem.ValorTotal; txtValorTotal.Text = pedido.ValorTotal.ToString(); pedido.ValorTotalComDesconto += pedidoItem.ValorTotalComDesconto; txtValorFinal.Text = pedido.ValorTotalComDesconto.ToString(); pedidoItens.Add(pedidoItem); } dbgListaProdutos.DataSource = null; dbgListaProdutos.DataSource = pedidoItens; dbgListaProdutos.Columns[0].Visible = false; dbgListaProdutos.Columns[1].Visible = false; dbgListaProdutos.Update(); dbgListaProdutos.Refresh(); txtproduto.Clear(); txtDescontoItem.Text = "0"; //txtQuantidade.Text = "1"; btnProcurarProduto.Focus(); } catch (Exception ex) { MessageBox.Show("Erro ao inserir produto no pedido. Detalhes: " + ex.Message); } } #endregion else { MessageBox.Show("É necesssário adicionar um cliente e selecionar um produto para inserir na venda."); } }