Пример #1
0
        public void Confirma()
        {
            try
            {
                PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO();
                PreVendaCabecalho.IdEmpresa           = Constantes.EMPRESA_BALCAO;
                PreVendaCabecalho.IdPessoa            = Convert.ToInt32(editCodigoCliente.Text);
                PreVendaCabecalho.NomeDestinatario    = EditNome.Text;
                PreVendaCabecalho.CpfCnpjDestinatario = editCpfCnpj.Text;
                PreVendaCabecalho.DataEmissao         = DateTime.Now;
                PreVendaCabecalho.HoraEmissao         = DateTime.Now.ToString("HH:mm:ss");
                PreVendaCabecalho.Situacao            = "P";
                PreVendaCabecalho.TaxaAcrescimo       = 0;
                PreVendaCabecalho.Acrescimo           = 0;
                PreVendaCabecalho.TaxaDesconto        = 0;
                PreVendaCabecalho.Desconto            = 0;
                PreVendaCabecalho.SubTotal            = TotalGeral;
                PreVendaCabecalho.Valor = TotalGeral;

                PreVendaController.InserePreVenda(PreVendaCabecalho, ListaPreVendaDetalhe);

                //TODO:  Não é permitido imprimir a pré-venda, mas você deve pelo menos informar seu número para o cliente. Implemente isso.
                MessageBox.Show("Pré-Venda gravada com sucesso!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
        }
Пример #2
0
 public FPreVenda()
 {
     // Required for Windows Form Designer support
     InitializeComponent();
     PreVendaController   = new PreVendaController();
     ProdutoController    = new ProdutoController();
     PreVendaCabecalho    = new PreVendaCabecalhoVO();
     ListaPreVendaDetalhe = new List <PreVendaDetalheVO>();
     Item       = 1;
     TotalGeral = 0;
     GridItens.AutoGenerateColumns = false;
 }
Пример #3
0
        private void Confirma()
        {
            if (MessageBox.Show("Tem certeza que deseja mesclar as Pré-Vendas selecionadas?", "Mesclar Pre-Venda", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                FCaixa.LabelMensagens.Text = "Aguarde. Mesclando Pré-Venda!";
                List <PreVendaCabecalhoVO> ListaPreVendaCabecalhoMescla = new List <PreVendaCabecalhoVO>();
                List <PreVendaDetalheVO>   ListaPreVendaDetalheMescla   = new List <PreVendaDetalheVO>();
                PreVendaCabecalhoVO        PreVendaCabecalho;
                PreVendaDetalheVO          PreVendaDetalhe;

                for (int i = 0; i <= GridMestre.Rows.Count - 1; i++)
                {
                    if (ListaPreVendaCabecalho[i].Situacao == "X")
                    {
                        PreVendaCabecalho       = new PreVendaCabecalhoVO();
                        PreVendaCabecalho.Id    = ListaPreVendaCabecalho[i].Id;
                        PreVendaCabecalho.Valor = ListaPreVendaCabecalho[i].Valor;
                        ListaPreVendaCabecalhoMescla.Add(PreVendaCabecalho);

                        for (int j = 0; j <= GridDetalhe.Rows.Count - 1; j++)
                        {
                            //TODO:  Observe que não temos todos esses itens na lista. Implemente isso no Controller ao carregar a tabela de detalhe.
                            PreVendaDetalhe                = new PreVendaDetalheVO();
                            PreVendaDetalhe.IdPreVenda     = PreVendaCabecalho.Id;
                            PreVendaDetalhe.Id             = ListaPreVendaDetalhe[j].Id;
                            PreVendaDetalhe.IdProduto      = ListaPreVendaDetalhe[j].IdProduto;
                            PreVendaDetalhe.GtinProduto    = ListaPreVendaDetalhe[j].GtinProduto;
                            PreVendaDetalhe.NomeProduto    = ListaPreVendaDetalhe[j].NomeProduto;
                            PreVendaDetalhe.UnidadeProduto = ListaPreVendaDetalhe[j].UnidadeProduto;
                            PreVendaDetalhe.Cancelado      = ListaPreVendaDetalhe[j].Cancelado;
                            PreVendaDetalhe.Quantidade     = ListaPreVendaDetalhe[j].Quantidade;
                            PreVendaDetalhe.ValorUnitario  = ListaPreVendaDetalhe[j].ValorUnitario;
                            PreVendaDetalhe.ValorTotal     = ListaPreVendaDetalhe[j].ValorTotal;
                            ListaPreVendaDetalheMescla.Add(PreVendaDetalhe);
                        }
                    }
                }

                if (ListaPreVendaDetalheMescla.Count < 1)
                {
                    MessageBox.Show("Nenhum item selecionado!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    PreVendaController.MesclaPreVenda(ListaPreVendaCabecalhoMescla, ListaPreVendaDetalheMescla);
                    FCaixa.LabelMensagens.Text = "Venda em andamento.";
                    this.Close();
                }
            }
        }
        public List <PreVendaCabecalhoVO> TabelaPreVendaCabecalho()
        {
            List <PreVendaCabecalhoVO> ListaPreVendaCabecalho = new List <PreVendaCabecalhoVO>();

            ConsultaSQL = " SELECT * FROM PRE_VENDA_CABECALHO WHERE SITUACAO = 'P' ORDER BY ID";

            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                leitor  = comando.ExecuteReader();
                while (leitor.Read())
                {
                    PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO();

                    PreVendaCabecalho.Id          = Convert.ToInt32(leitor["ID"]);
                    PreVendaCabecalho.DataEmissao = Convert.ToDateTime(leitor["DATA_PV"]);
                    PreVendaCabecalho.HoraEmissao = leitor["HORA_PV"].ToString();
                    PreVendaCabecalho.Valor       = Convert.IsDBNull(leitor["VALOR"]) ? 0 : Convert.ToDecimal(leitor["VALOR"]);

                    ListaPreVendaCabecalho.Add(PreVendaCabecalho);
                }
                return(ListaPreVendaCabecalho);
            }

            catch (Exception eError)
            {
                Log.write(eError.ToString());
                return(null);
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
        public void InserePreVenda(PreVendaCabecalhoVO PreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe)
        {
            // insere o novo PreVenda no cabecalho
            ConsultaSQL =
                "insert into PRE_VENDA_CABECALHO (" +
                "ID_EMPRESA," +
                "NOME_DESTINATARIO," +
                "CPF_CNPJ_DESTINATARIO," +
                "DATA_PV," +
                "HORA_PV," +
                "SITUACAO," +
                "SUBTOTAL," +
                "VALOR" +
                ") values (" +
                "?pIdEmpresa," +
                "?pDestinatario," +
                "?pCPFCNPJ," +
                "?pDataEmissao," +
                "?pHoraEmissao," +
                "?pSituacao," +
                "?pSubTotal," +
                "?pValor)";
            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pIdEmpresa", PreVendaCabecalho.IdEmpresa);
                comando.Parameters.AddWithValue("?pDestinatario", PreVendaCabecalho.NomeDestinatario);
                comando.Parameters.AddWithValue("?pCPFCNPJ", PreVendaCabecalho.CpfCnpjDestinatario);
                comando.Parameters.AddWithValue("?pDataEmissao", PreVendaCabecalho.DataEmissao);
                comando.Parameters.AddWithValue("?pHoraEmissao", PreVendaCabecalho.HoraEmissao);
                comando.Parameters.AddWithValue("?pSituacao", PreVendaCabecalho.Situacao);
                comando.Parameters.AddWithValue("?pSubTotal", PreVendaCabecalho.SubTotal);
                comando.Parameters.AddWithValue("?pValor", PreVendaCabecalho.Valor);
                comando.ExecuteNonQuery();

                comando = new MySqlCommand("select max(ID) as ID from PRE_VENDA_CABECALHO", conexao);
                leitor  = comando.ExecuteReader();
                leitor.Read();
                PreVendaCabecalho.Id = Convert.ToInt32(leitor["ID"]);
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }


            // insere os dados na tabela de detalhes
            ConsultaSQL =
                "insert into PRE_VENDA_DETALHE (" +
                "ID_PRODUTO," +
                "ID_PRE_VENDA_CABECALHO," +
                "ITEM," +
                "QUANTIDADE," +
                "VALOR_UNITARIO," +
                "VALOR_TOTAL," +
                "CANCELADO," +
                "GTIN_PRODUTO," +
                "NOME_PRODUTO," +
                "UNIDADE_PRODUTO) values (" +
                "?pIdProduto," +
                "?pIdPreVendaCabecalho," +
                "?pItem," +
                "?pQuantidade," +
                "?pValorUnitario," +
                "?pValorTotal," +
                "?pCancelado," +
                "?pGtinProduto," +
                "?pNomeProduto," +
                "?pUnidadeProduto)";
            try
            {
                for (int i = 0; i <= ListaPreVendaDetalhe.Count - 1; i++)
                {
                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pIdProduto", ListaPreVendaDetalhe[i].IdProduto);
                    comando.Parameters.AddWithValue("?pIdPreVendaCabecalho", PreVendaCabecalho.Id);
                    comando.Parameters.AddWithValue("?pItem", ListaPreVendaDetalhe[i].Item);
                    comando.Parameters.AddWithValue("?pQuantidade", ListaPreVendaDetalhe[i].Quantidade);
                    comando.Parameters.AddWithValue("?pValorUnitario", ListaPreVendaDetalhe[i].ValorUnitario);
                    comando.Parameters.AddWithValue("?pValorTotal", ListaPreVendaDetalhe[i].ValorTotal);
                    comando.Parameters.AddWithValue("?pCancelado", ListaPreVendaDetalhe[i].Cancelado);
                    comando.Parameters.AddWithValue("?pGtinProduto", ListaPreVendaDetalhe[i].GtinProduto);
                    comando.Parameters.AddWithValue("?pNomeProduto", ListaPreVendaDetalhe[i].NomeProduto);
                    comando.Parameters.AddWithValue("?pUnidadeProduto", ListaPreVendaDetalhe[i].UnidadeProduto);
                    comando.ExecuteNonQuery();
                }
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #6
0
        public void CancelaPreVendasPendentes(int pId)
        {
            PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO();

            try
            {
                List <PreVendaCabecalhoVO> ListaPreVendaCabecalho = new List <PreVendaCabecalhoVO>();
                List <PreVendaDetalheVO>   ListaPreVendaDetalhe   = new List <PreVendaDetalheVO>();
                //
                ConsultaSQL = "select * from PRE_VENDA_CABECALHO where ID=" + Convert.ToString(pId);
                comando     = new MySqlCommand(ConsultaSQL, conexao);
                leitor      = comando.ExecuteReader();
                leitor.Read();
                {
                    PreVendaCabecalho.Id    = Convert.ToInt32(leitor["ID"]);
                    PreVendaCabecalho.Valor = Convert.ToDecimal(leitor["VALOR"]);
                    ListaPreVendaCabecalho.Add(PreVendaCabecalho);
                    leitor.Close();

                    ConsultaSQL = "SELECT * FROM PRE_VENDA_DETALHE WHERE ID_PRE_VENDA_CABECALHO=" + Convert.ToString(PreVendaCabecalho.Id);
                    comando     = new MySqlCommand(ConsultaSQL, conexao);
                    leitor      = comando.ExecuteReader();

                    while (leitor.Read())
                    {
                        PreVendaDetalheVO PreVendaDetalhe = new PreVendaDetalheVO();
                        PreVendaDetalhe.IdProduto      = Convert.ToInt32(leitor["ID_PRODUTO"]);
                        PreVendaDetalhe.IdPreVenda     = Convert.ToInt32(leitor["ID_PRE_VENDA_CABECALHO"]);
                        PreVendaDetalhe.IdProduto      = Convert.ToInt32(leitor["ID_PRODUTO"]);
                        PreVendaDetalhe.Item           = Convert.ToInt32(leitor["ITEM"]);
                        PreVendaDetalhe.Quantidade     = Convert.ToDecimal(leitor["QUANTIDADE"]);
                        PreVendaDetalhe.ValorUnitario  = Convert.ToDecimal(leitor["VALOR_UNITARIO"]);
                        PreVendaDetalhe.ValorTotal     = Convert.ToDecimal(leitor["VALOR_TOTAL"]);
                        PreVendaDetalhe.Cancelado      = Convert.ToString(leitor["CANCELADO"]);
                        PreVendaDetalhe.GtinProduto    = Convert.ToString(leitor["GTIN_PRODUTO"]);
                        PreVendaDetalhe.NomeProduto    = Convert.ToString(leitor["NOME_PRODUTO"]);
                        PreVendaDetalhe.UnidadeProduto = Convert.ToString(leitor["UNIDADE_PRODUTO"]);
                        PreVendaDetalhe.ECFICMS        = Convert.ToString(leitor["ECF_ICMS_ST"]);
                        ListaPreVendaDetalhe.Add(PreVendaDetalhe);
                    }
                }

                if (leitor != null)
                {
                    leitor.Close();
                }

                // atualiza no banco de dados
                ConsultaSQL =
                    "update PRE_VENDA_CABECALHO set " +
                    "SITUACAO = " + Biblioteca.QuotedStr("C") +
                    " where ID=" + Convert.ToString(PreVendaCabecalho.Id);

                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.ExecuteNonQuery();

                CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe);
            }

            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #7
0
        public void CancelaPreVendasPendentes(System.DateTime pDataMovimento)
        {
            MySqlDataReader leitorInterno;

            // verifica se existem PV pendentes
            ConsultaSQL =
                "select * from PRE_VENDA_CABECALHO where " +
                "SITUACAO = " + Biblioteca.QuotedStr("P") + " and DATA_PV < ?pData ";

            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pData", pDataMovimento);
                leitor = comando.ExecuteReader();

                // caso existam PV pendentes procede com o processo de cancelamento de pre-vendas
                if (leitor.HasRows)
                {
                    leitor.Close();
                    List <PreVendaCabecalhoVO> ListaPreVendaCabecalho = new List <PreVendaCabecalhoVO>();
                    List <PreVendaDetalheVO>   ListaPreVendaDetalhe   = new List <PreVendaDetalheVO>();
                    //
                    ConsultaSQL = "select * from PRE_VENDA_CABECALHO where " +
                                  "SITUACAO = " + Biblioteca.QuotedStr("P") + " and DATA_PV < ?pData";

                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pData", pDataMovimento);
                    leitor = comando.ExecuteReader();

                    while (leitor.Read())
                    {
                        PreVendaCabecalhoVO PreVendaCabecalho = new PreVendaCabecalhoVO();
                        PreVendaCabecalho.Id    = Convert.ToInt32(leitor["ID"]);
                        PreVendaCabecalho.Valor = Convert.ToDecimal(leitor["VALOR"]);
                        ListaPreVendaCabecalho.Add(PreVendaCabecalho);

                        comando       = new MySqlCommand("SELECT * FROM PRE_VENDA_DETALHE WHERE ID_PRE_VENDA_CABECALHO=" + Convert.ToString(PreVendaCabecalho.Id), conexao);
                        leitorInterno = comando.ExecuteReader();

                        while (leitorInterno.Read())
                        {
                            PreVendaDetalheVO PreVendaDetalhe = new PreVendaDetalheVO();
                            PreVendaDetalhe.IdProduto      = Convert.ToInt32(leitor["ID_PRODUTO"]);
                            PreVendaDetalhe.IdPreVenda     = Convert.ToInt32(leitor["ID_PRE_VENDA_CABECALHO"]);
                            PreVendaDetalhe.IdProduto      = Convert.ToInt32(leitor["ID_PRODUTO"]);
                            PreVendaDetalhe.Item           = Convert.ToInt32(leitor["ITEM"]);
                            PreVendaDetalhe.Quantidade     = Convert.ToDecimal(leitor["QUANTIDADE"]);
                            PreVendaDetalhe.ValorUnitario  = Convert.ToDecimal(leitor["VALOR_UNITARIO"]);
                            PreVendaDetalhe.ValorTotal     = Convert.ToDecimal(leitor["VALOR_TOTAL"]);
                            PreVendaDetalhe.Cancelado      = Convert.ToString(leitor["CANCELADO"]);
                            PreVendaDetalhe.GtinProduto    = Convert.ToString(leitor["GTIN_PRODUTO"]);
                            PreVendaDetalhe.NomeProduto    = Convert.ToString(leitor["NOME_PRODUTO"]);
                            PreVendaDetalhe.UnidadeProduto = Convert.ToString(leitor["UNIDADE_PRODUTO"]);
                            PreVendaDetalhe.ECFICMS        = Convert.ToString(leitor["ECF_ICMS_ST"]);
                            ListaPreVendaDetalhe.Add(PreVendaDetalhe);
                        }
                    }

                    // atualiza no banco de dados
                    ConsultaSQL =
                        "update PRE_VENDA_CABECALHO set " +
                        "SITUACAO = " + Biblioteca.QuotedStr("C") +
                        " where SITUACAO = " + Biblioteca.QuotedStr("P") + " and DATA_PV < ?pData";
                    comando.Parameters.AddWithValue("?pData", pDataMovimento);
                    comando.ExecuteNonQuery();

                    CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe);
                }
            }

            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }
        }
Пример #8
0
        public void MesclaPreVenda(List <PreVendaCabecalhoVO> ListaPreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe)
        {
            decimal TotalNovaPreVenda;
            // inicia e configura a nova Pre-Venda
            PreVendaCabecalhoVO NovaPreVenda = new PreVendaCabecalhoVO();

            NovaPreVenda.IdPessoa            = ListaPreVendaCabecalho[0].IdPessoa;
            NovaPreVenda.NomeDestinatario    = ListaPreVendaCabecalho[0].NomeDestinatario;
            NovaPreVenda.CpfCnpjDestinatario = ListaPreVendaCabecalho[0].CpfCnpjDestinatario;
            NovaPreVenda.DataEmissao         = DateTime.Now;
            NovaPreVenda.HoraEmissao         = DateTime.Now.ToString("HH:mm:ss");
            NovaPreVenda.Situacao            = "P";
            TotalNovaPreVenda = 0;

            // atualiza a tabela de cabecalho
            for (int i = 0; i <= ListaPreVendaCabecalho.Count - 1; i++)
            {
                // altera a situacao da PV selecionada para M de mesclada
                ConsultaSQL =
                    "update PRE_VENDA_CABECALHO set " +
                    "SITUACAO=?pSituacao " +
                    " where ID = ?pId";

                TotalNovaPreVenda = Biblioteca.TruncaValor(TotalNovaPreVenda, Constantes.DECIMAIS_VALOR) +
                                    Biblioteca.TruncaValor(ListaPreVendaCabecalho[i].SubTotal, Constantes.DECIMAIS_VALOR);
                try
                {
                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pId", ListaPreVendaCabecalho[i].Id);
                    comando.Parameters.AddWithValue("?pSituacao", "M");
                    comando.ExecuteNonQuery();
                }
                catch (Exception eError)
                {
                    Log.write(eError.ToString());
                }
            }

            // cria uma nova PV
            ConsultaSQL =
                "insert into PRE_VENDA_CABECALHO (" +
                "NOME_DESTINATARIO," +
                "CPF_CNPJ_DESTINATARIO," +
                "SUBTOTAL," +
                "DATA_PV," +
                "HORA_PV," +
                "SITUACAO, ID_PESSOA) values (" +
                "?pDestinatario," +
                "?pCPFCNPJ," +
                "?pSubTotal," +
                "?pDataEmissao," +
                "?pHoraEmissao," +
                "?psituacao, ?pIdPessoa)";
            try
            {
                comando = new MySqlCommand(ConsultaSQL, conexao);
                comando.Parameters.AddWithValue("?pDestinatario", NovaPreVenda.NomeDestinatario);
                comando.Parameters.AddWithValue("?pCPFCNPJ", NovaPreVenda.CpfCnpjDestinatario);
                comando.Parameters.AddWithValue("?pDataEmissao", NovaPreVenda.DataEmissao);
                comando.Parameters.AddWithValue("?pHoraEmissao", NovaPreVenda.HoraEmissao);
                comando.Parameters.AddWithValue("?pSituacao", NovaPreVenda.Situacao);
                comando.Parameters.AddWithValue("?pSubTotal", TotalNovaPreVenda);
                comando.Parameters.AddWithValue("?pIdPessoa", NovaPreVenda.IdPessoa);
                comando.ExecuteNonQuery();

                ConsultaSQL = "select max(ID) as ID from PRE_VENDA_CABECALHO";
                comando     = new MySqlCommand(ConsultaSQL, conexao);
                leitor      = comando.ExecuteReader();
                leitor.Read();
                NovaPreVenda.Id = Convert.ToInt32(leitor["ID"]);
            }
            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }
            finally
            {
                if (leitor != null)
                {
                    leitor.Close();
                }
            }

            // atualiza a tabela de detalhes
            ConsultaSQL =
                "insert into PRE_VENDA_DETALHE (" +
                "ID_PRODUTO," +
                "ID_PRE_VENDA_CABECALHO," +
                "ITEM," +
                "QUANTIDADE," +
                "CANCELADO," +
                "GTIN_PRODUTO," +
                "NOME_PRODUTO," +
                "UNIDADE_PRODUTO," +
                "ECF_ICMS_ST," +
                "VALOR_UNITARIO," +
                "VALOR_TOTAL) " +
                " values (" +
                "?pID_PRODUTO," +
                "?pID_PRE_VENDA_CABECALHO," +
                "?pITEM," +
                "?pQUANTIDADE," +
                "?pCANCELADO," +
                "?pGTIN_PRODUTO," +
                "?pNOME_PRODUTO," +
                "?pUNIDADE_PRODUTO," +
                "?pECF_ICMS_ST," +
                "?pVALOR_UNITARIO," +
                "?pVALOR_TOTAL)";
            try
            {
                for (int i = 0; i <= ListaPreVendaDetalhe.Count - 1; i++)
                {
                    comando = new MySqlCommand(ConsultaSQL, conexao);
                    comando.Parameters.AddWithValue("?pID_PRODUTO", ListaPreVendaDetalhe[i].IdProduto);
                    comando.Parameters.AddWithValue("?pID_PRE_VENDA_CABECALHO", NovaPreVenda.Id);
                    comando.Parameters.AddWithValue("?pITEM", ListaPreVendaDetalhe[i].Item);
                    comando.Parameters.AddWithValue("?pQUANTIDADE", ListaPreVendaDetalhe[i].Quantidade);
                    comando.Parameters.AddWithValue("?pCANCELADO", ListaPreVendaDetalhe[i].Cancelado);
                    comando.Parameters.AddWithValue("?pGTIN_PRODUTO", ListaPreVendaDetalhe[i].GtinProduto);
                    comando.Parameters.AddWithValue("?pNOME_PRODUTO", ListaPreVendaDetalhe[i].NomeProduto);
                    comando.Parameters.AddWithValue("?pUNIDADE_PRODUTO", ListaPreVendaDetalhe[i].UnidadeProduto);
                    comando.Parameters.AddWithValue("?pECF_ICMS_ST", ListaPreVendaDetalhe[i].ECFICMS);
                    comando.Parameters.AddWithValue("?pVALOR_UNITARIO", ListaPreVendaDetalhe[i].ValorUnitario);
                    comando.Parameters.AddWithValue("?pVALOR_TOTAL", ListaPreVendaDetalhe[i].ValorTotal);
                    comando.ExecuteNonQuery();
                }
            }

            catch (Exception eError)
            {
                Log.write(eError.ToString());
            }

            CancelaPreVendasPendentes(ListaPreVendaCabecalho, ListaPreVendaDetalhe);

            FCaixa.CarregaPreVenda(Convert.ToString(NovaPreVenda.Id));
        }