private void BtnFinalizarPedido_Click(object sender, EventArgs e) { try { ItemPedidoNegocio itemPedidoNegocio = new ItemPedidoNegocio(); if (novoPedido) { //PEDIDO NOVO E CADASTRO DE ITEMPRDIDO PedidoNegocio pedidoNegocio = new PedidoNegocio(); Pedido pedido = new Pedido(Convert.ToInt32(TxtCodigoPedido.Text), Convert.ToInt32(LblCodigoEmpresa.Text), LblEmpresaDentista.Text, null); for (int t = 0; t < DgvItensProduto.Rows.Count; t++) { if (DgvItensProduto.Rows[t].Cells[7].Value.ToString() == "") { ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), Convert.ToInt32(TxtCodigoPedido.Text), Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString()); itemPedidoNegocio.Inserir(itemPedido); } else { ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), Convert.ToInt32(TxtCodigoPedido.Text), Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), Convert.ToDateTime(DgvItensProduto.Rows[t].Cells[7].Value.ToString())); itemPedidoNegocio.Inserir(itemPedido); } } pedidoNegocio.Inserir(pedido); } else { //ALTERAÇÃO DE ITEMPEDIDO E ALTERACAO DE CODIGO DO PEDIDO //VERIFICAR SE O CÓDIGO DE PEDIDO É O MESMO QUE O ANTERIOR E MODIFICAR COM O ITEMPEDIDO if (Convert.ToInt32(TxtCodigoPedido.Text) != pedido.Codigo) { PedidoNegocio pedidoNegocio = new PedidoNegocio(); pedidoNegocio.AlterarCodigo(pedido, Convert.ToInt32(TxtCodigoPedido.Text)); itemPedidoNegocio.AlterarCodigoPedido(Convert.ToInt32(TxtCodigoPedido.Text), pedido.Codigo); pedido.Codigo = Convert.ToInt32(TxtCodigoPedido.Text); } //VERIFICAR CADA LINHA DO DATAGRID PARA VER QUAL O PRODUTO NOVO CADASTRADO E FAZER UM INSERT (ITEM PEDIDO = ""), //SE ESTIVER VAZIO, FAZER UM INSERT; for (int t = 0; t < DgvItensProduto.Rows.Count; t++) { if (DgvItensProduto.Rows[t].Cells[0].Value.ToString() == "") { if (DgvItensProduto.Rows[t].Cells[7].Value.ToString() == "") { ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), null); itemPedidoNegocio.Inserir(itemPedido); } else { ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), Convert.ToDateTime(DgvItensProduto.Rows[t].Cells[7].Value)); itemPedidoNegocio.Inserir(itemPedido); } } else { if (DgvItensProduto.Rows[t].Cells[7].Value.ToString() == "") { //SE TIVER COM CÓDIGO ITEMPEDIDO, FAZER UM UPDATE; ItemPedido itemPedido = new ItemPedido(Convert.ToInt32(DgvItensProduto.Rows[t].Cells[0].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), null); itemPedidoNegocio.Alterar(itemPedido); } else { //SE TIVER COM CÓDIGO ITEMPEDIDO, FAZER UM UPDATE; ItemPedido itemPedido = new ItemPedido(Convert.ToInt32(DgvItensProduto.Rows[t].Cells[0].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), Convert.ToDateTime(DgvItensProduto.Rows[t].Cells[7].Value)); itemPedidoNegocio.Alterar(itemPedido); } } } //VERIFICAR COM UM FOR SE TEM UM PEDIDO QUE FOI DELETADO DO DATAGRID (SOMENTE COM ITEMPEDIDO != ""). int qtde = 0; bool encontrado = false; for (int t = 0; t < DgvItensProduto.Rows.Count; t++) { if (DgvItensProduto.Rows[t].Cells[0].Value.ToString() != "") { qtde++; } } if (qtde != itemPedidos.Count) { for (int m = 0; m < itemPedidos.Count; m++) { for (int d = 0; d < DgvItensProduto.Rows.Count; d++) { if (DgvItensProduto.Rows[d].Cells[0].Value.ToString() != "") { if (itemPedidos[m].Codigo == Convert.ToInt32(DgvItensProduto.Rows[d].Cells[0].Value)) { encontrado = true; break; } } } if (encontrado == false) { itemPedidoNegocio.Excluir(Convert.ToInt32(itemPedidos[m].Codigo)); } encontrado = false; } } } this.Close(); } catch (Exception ex) { MessageBox.Show("Não foi possível fazer a o cadastro do Pedido!" + ex.Message, "Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void btnFinalizarVenda_Click(object sender, EventArgs e) { if ((pedidoItens != null && pedidoItens.Count > 0) && txtValorTotal.Text != "0,00") { if (txtValorFinal.Text == "0,00") { if (DialogResult.No == MessageBox.Show("Valor final do produto está com DESCONTO de 100%. Deseja realmente continuar?", "Verificação!", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { txtDesconto.Focus(); return; } } if (DialogResult.Yes == MessageBox.Show("Deseja finalizar a venda?", "Verificação!", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { //inicia a gravação no banco #region Finalizar Venda Gravação no banco try { PedidoNegocio pedidoNegocio = new PedidoNegocio(); pedido.ValorTotal = Convert.ToDecimal(txtValorTotal.Text); pedido.ValorTotalComDesconto = Convert.ToDecimal(txtValorFinal.Text); pedido.PorcentagemDesconto = Convert.ToDecimal(txtDesconto.Text.Replace("%", "")); pedido.IDCaixa = ControleSistema.getCaixaAtual().IDCaixa; pedido.IDPagamento = Convert.ToInt32(cbbFormaPagamento.SelectedValue); string retorno = pedidoNegocio.Inserir(pedido); int IDPedido; if (!int.TryParse(retorno, out IDPedido)) { MessageBox.Show("Erro ao inserir pedido. Entre em contato com o suporte técnico."); return; } else { PedidoItemNegocio pedidoItemNegocio = new PedidoItemNegocio(); EstoqueReservadoNegocio estoqueReservadoNegocio = new EstoqueReservadoNegocio(); EstoqueReservado estoqueReservado = new EstoqueReservado(); EstoqueNegocio estoqueNegocio = new EstoqueNegocio(); Estoque estoque = new Estoque(); foreach (var item in pedidoItens) { item.IDPedido = IDPedido; pedidoItemNegocio.Inserir(item); estoqueReservado.IDFilial = filialLogada.IDFilial; estoqueReservado.IDProduto = item.IDProduto; estoqueReservado.Quantidade = item.Quantidade * (-1); estoqueReservadoNegocio.Inserir(estoqueReservado); estoque.IDFilial = filialLogada.IDFilial; estoque.IDProduto = item.IDProduto; estoque.Quantidade = item.Quantidade * (-1); estoqueNegocio.Inserir(estoque); } } } catch (Exception ex) { MessageBox.Show("Erro ao inserir pedido. Detalhes: " + ex.Message); } #endregion gerenciaBotoesParaNovaVenda(); } else { return; } } else { MessageBox.Show("Esta faltando dados na venda. Verifique se todos os campos estão preenchidos."); } }