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 { fornecedorSelecionado = ControleFormulario.abreFrmConsultaFornecedorCompra(AcaoTelaConsultaCadastros.FornecedorConsultaCompra, filialLogada); txtCliente.Text = fornecedorSelecionado.Nome; txtDescontoItem.Focus(); } catch { MessageBox.Show("Não foi possível procurar um fornecedor."); } 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."); } }
private void deletarItem() { if (pedidoItens != null && pedidoItens.Count > 0) { try { PedidoCompraItem itemDeletado = dbgListaProdutos.SelectedRows[0].DataBoundItem as PedidoCompraItem; DialogResult resultado = MessageBox.Show("Deseja remover este item da lista de produtos? " + itemDeletado.ProdutoNome, "Remover Item!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (resultado == DialogResult.Yes) { pedido.ValorTotal -= itemDeletado.ValorTotal; pedido.ValorTotalComDesconto -= itemDeletado.ValorTotalComDesconto; txtValorTotal.Text = pedido.ValorTotal.ToString(); txtValorFinal.Text = pedido.ValorTotalComDesconto.ToString(); pedidoItens.Remove(itemDeletado); dbgListaProdutos.DataSource = null; dbgListaProdutos.DataSource = pedidoItens; dbgListaProdutos.Update(); dbgListaProdutos.Refresh(); } else { return; } } catch (Exception ex) { MessageBox.Show("Erro ao excluir item da lista. Detalhes: " + ex.Message); } } else { MessageBox.Show("Não existe produto na lista para ser removido."); } }
public string Inserir(PedidoCompraItem pedidoItem) { try { conexao.LimparParametros(); conexao.AdicionarParametros("@IDPedido", pedidoItem.IDPedido); conexao.AdicionarParametros("@IDProduto", pedidoItem.IDProduto); conexao.AdicionarParametros("@Quantidade", pedidoItem.Quantidade); conexao.AdicionarParametros("@ValorUnitario", pedidoItem.ValorUnitario); conexao.AdicionarParametros("@PercentualDesconto", pedidoItem.PercentualDesconto); conexao.AdicionarParametros("@ValorDesconto", pedidoItem.ValorDesconto); conexao.AdicionarParametros("@ValorTotal", pedidoItem.ValorTotal); conexao.AdicionarParametros("@ValorTotalComDesconto", pedidoItem.ValorTotalComDesconto); string IDPedido = conexao.ExecutarManipulacao(CommandType.StoredProcedure, "uspPedidoCompraItemInserir").ToString(); return(IDPedido); } catch (Exception ex) { return(ex.Message); } }
private void btnOk_Click(object sender, EventArgs e) { if (txtCliente.Text != "" && txtproduto.Text != "" && txtValorUnitario.Text != "" && txtValorUnitario.Text != "R$ 0,00") { #region Adicionar Produto Na Lista De Venda try { if (pedido == null) { //Cria o pedido pedido = new PedidoCompra(); pedido.IDOperacao = 2; pedido.IDPessoaDestinatario = fornecedorSelecionado.IDCliente; pedido.IDPessoaEmitente = filialLogada.IDFilial; pedido.IDSituacao = 1; } //adiciono item no pedido if (pedidoItens == null) { pedidoItens = new PedidoCompraItemColecao(); } 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 += (Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text)); decimal valorDescontoItemExistente = ((Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100; pedidoItemExistente.ValorDesconto += decimal.Round(valorDescontoItemExistente, 2); //45 decimal valorTotalItemComDesconto = (Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * 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 = Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * 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 PedidoCompraItem(); pedidoItem.IDProduto = produtoSelecionado.IDProduto; pedidoItem.ProdutoNome = produtoSelecionado.Nome; pedidoItem.Quantidade = Convert.ToInt32(txtQuantidade.Text); pedidoItem.ValorTotal = Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text); decimal valorDescontoItem = ((Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * Convert.ToInt32(txtQuantidade.Text)) * Convert.ToDecimal(txtDescontoItem.Text.Replace("%", ""))) / 100; pedidoItem.ValorDesconto = decimal.Round(valorDescontoItem, 2); pedidoItem.ValorUnitario = Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")); pedidoItem.ValorTotalComDesconto = decimal.Round((Convert.ToDecimal(txtValorUnitario.Text.Replace("R$", "")) * 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"; txtValorUnitario.Text = "0,00"; //txtQuantidade.Text = "1"; Alterado no produto text changed btnProcurarProduto.Focus(); } catch (Exception ex) { MessageBox.Show("Erro ao inserir produto no pedido. Detalhes: " + ex.Message); } #endregion } else { MessageBox.Show("É necesssário adicionar um fornecedor e selecionar um produto e o valor unitário para inserir na compra."); } }