Beispiel #1
0
        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);
            }
        }