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); } }