Example #1
0
        private void btnContingencia_Click(object sender, EventArgs e)
        {
            List <belPesquisaNotas> objSelect = BuscaNotasSelecionadas().Where(c =>
                                                                               c.bEnviado == false &&
                                                                               c.bDenegada == false &&
                                                                               c.bCancelado == false &&
                                                                               c.sRECIBO_NF == "").ToList <belPesquisaNotas>();

            try
            {
                if (objSelect.Count() > 0)
                {
                    if (objSelect.Where(c => c.sCD_NOTAFIS == "").Count() > 0)
                    {
                        belNumeroNF         objbelNumeracao     = new belNumeroNF(objSelect.Where(c => c.sCD_NOTAFIS == "").ToList());
                        frmGeraNumeracaoNFe objfrmGeraNumeracao = new frmGeraNumeracaoNFe(objbelNumeracao, false);
                        objfrmGeraNumeracao.ShowDialog();
                        if (!objfrmGeraNumeracao.bGerou)
                        {
                            throw new Exception("Transmissão de Notas abortada");
                        }
                    }
                    belCarregaDados objbelCarregaDados = new belCarregaDados(objSelect);
                    objbelCarregaDados.CarregaDados();
                    frmVisualizaNFe objfrmVisualizaNFe = new frmVisualizaNFe(objbelCarregaDados.lNotas);
                    objfrmVisualizaNFe.ShowDialog();
                    if (objfrmVisualizaNFe.Cancelado)
                    {
                        throw new Exception("Envio da(s) Nota(s) Cancelado");
                    }
                    objbelCarregaDados.objbelCriaXml.GeraLoteXmlEnvio();

                    foreach (belPesquisaNotas item in objSelect)
                    {
                        item.AlteraStatusNotaParaContingenciaFS();
                    }
                    KryptonMessageBox.Show(belTrataMensagemNFe.RetornaMensagem(objSelect, belTrataMensagemNFe.Tipo.ContingenciaFS), Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    PesquisaNotas();
                }
            }
            catch (Exception ex)
            {
                new HLPexception(ex);
            }
        }
        private void btnEnvio_Click(object sender, EventArgs e)
        {

            frmStatusEnvioNfs objfrmStatus = null;

            try
            {
                if (belPesq.lResultPesquisa != null)
                {
                    List<belPesquisaNotas> objSelecionadas = belPesq.lResultPesquisa.Where(c => c.bSeleciona).ToList<belPesquisaNotas>();
                    List<belPesquisaNotas> objSelect = objSelecionadas.Where(c =>
                                                                       c.bEnviado == false &&
                                                                       c.bDenegada == false &&
                                                                       c.bCancelado == false).ToList<belPesquisaNotas>();

                    if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.SUSESU && objSelect.Count > 1)
                    {
                        throw new Exception("Para Enviar, só é permitido selecionar uma Nota por vez!");
                    }

                    if (objSelect.Count() > 0)
                    {
                        if (objSelect.Where(C => C.sRECIBO_NF != "").Count() > 0)
                        {
                            foreach (belPesquisaNotas nota in objSelect.Where(C => C.sRECIBO_NF != ""))
                            {
                                throw new Exception("A Nota de Sequência " + nota.sCD_NFSEQ + " Já tem um retorno Salvo no Banco de Dados, tente Buscar Retorno");
                            }
                        }
                        if (objSelect.Where(c => c.sCD_NOTAFIS == "").Count() > 0)
                        {
                            HLP.GeraXml.bel.NFe.Estrutura.belNumeroNF objbelNumeracao = new HLP.GeraXml.bel.NFe.Estrutura.belNumeroNF(objSelect.Where(c => c.sCD_NOTAFIS == "").ToList());
                            frmGeraNumeracaoNFe objfrmGeraNumeracao = new frmGeraNumeracaoNFe(objbelNumeracao, true);
                            objfrmGeraNumeracao.ShowDialog();
                        }
                        if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.DSF)
                        {
                            belCarregaDadosRPS objCarregaDados = new belCarregaDadosRPS(objSelect);
                            frmVisualizaNfsDSF objfrm = new frmVisualizaNfsDSF(objCarregaDados.objLoteEnvio);
                            objfrm.ShowDialog();
                            if (objfrm.Cancelado)
                            {
                                throw new Exception("Envio da(s) Nota(s) de serviço foi Cancelado.");
                            }
                            objCarregaDados.CriarXml();
                            belEnviarNFSeWS objEnvio = new belEnviarNFSeWS(objCarregaDados);
                            KryptonMessageBox.Show(objEnvio.Enviar(), Mensagens.MSG_Aviso, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.SUSESU) // arrumar o retorno das TELAS...
                        {
                            if (objSelect.Count > 1)
                            {
                                throw new Exception("Só é permitido selecionar uma Nota por vez!");
                            }

                            bel.NFes.Susesu.belNFesSusesu objNFes = new bel.NFes.Susesu.belNFesSusesu(objSelect.FirstOrDefault());
                            Susesu.frmVisualizaNfsSusesu objFrmVisualizaSusesu = new Susesu.frmVisualizaNfsSusesu(objNFes);
                            objFrmVisualizaSusesu.ShowDialog();
                            if (!objFrmVisualizaSusesu.Cancelado)
                            {
                                objNFes.TransmiteRPS();
                            }
                        }
                        else
                        {
                            bool isCancelado = false;
                            belLoteRps objbelLoteRps = new belLoteRps();
                            tcLoteRps objLoteRps = objbelLoteRps.BuscaDadosNFes(objSelect);
                            frmVisualizaNfs objFrmVisualiza = new frmVisualizaNfs(objLoteRps);
                            objFrmVisualiza.ShowDialog();
                            isCancelado = objFrmVisualiza.Cancelado;
                            if (isCancelado)
                            {
                                throw new Exception("Envio da(s) Nota(s) Cancelado");
                            }

                            objfrmStatus = new frmStatusEnvioNfs();
                            objfrmStatus.Show();
                            objfrmStatus.lblMsg.Text = "Montando Xml...";
                            objfrmStatus.lblMsg.Refresh();
                            objfrmStatus.Refresh();

                            belCriaXmlNFs objbelCriaXmlNFs = new belCriaXmlNFs();
                            if (Acesso.tipoWsNfse == Acesso.TP_WS_NFSE.GINFES)
                            {
                                objbelCriaXmlNFs.GerarArquivoXml(objFrmVisualiza.objLoteRpsAlter);
                            }
                            else
                            {
                                objbelCriaXmlNFs.GerarArquivoXml2(objFrmVisualiza.objLoteRpsAlter);
                            }

                            objfrmStatus.lblMsg.Text = "Enviando Lote para o Webservice...";
                            objfrmStatus.lblMsg.Refresh();

                            belRecepcao objBelRecepcao = new belRecepcao(objbelCriaXmlNFs.sXmlLote, objFrmVisualiza.objLoteRpsAlter);
                            if (objBelRecepcao.sMsgTransmissao != "")
                            {
                                throw new Exception(objBelRecepcao.sMsgTransmissao);
                            }

                            objfrmStatus.lblMsg.Text = "Gravando recibo na base de dados...";
                            objfrmStatus.lblMsg.Refresh();
                            objBelRecepcao.GravaRecibo(objBelRecepcao.Protocolo, objFrmVisualiza.objLoteRpsAlter);
                            objfrmStatus.Close();
                            KryptonMessageBox.Show(null, "Lote enviado com sucesso, aguarde aproximadamente 6 min. para buscar o Retorno.", Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);

                            //string sMsgErro = objBelRecepcao.BuscaRetorno(objFrmVisualiza.objLoteRpsAlter.Rps[0].InfRps.Prestador, objfrmStatus.lblMsg, objfrmStatus.progressBarStatus);

                            //if (objBelRecepcao.sCodigoRetorno.Equals("E4"))
                            //{
                            //    objfrmStatus.Close();
                            //    KryptonMessageBox.Show(null, sMsgErro + Environment.NewLine + Environment.NewLine + "IMPORTANTE: Tente Buscar Retorno da NFs-e, pois o serviço do WebService está demorando para responder. ", Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            //}
                            //else if (objBelRecepcao.objListaNfseRetorno.Count > 0)
                            //{
                            //    objfrmStatus.lblMsg.Text = "Alterando Status da Nota...";
                            //    objfrmStatus.lblMsg.Refresh();
                            //    objBelRecepcao.AlteraStatusDaNota(objBelRecepcao.objListaNfseRetorno);
                            //    objfrmStatus.Close();
                            //    objBelRecepcao.VerificaNotasParaCancelar(objBelRecepcao.objListaNfseRetorno);

                            //    KryptonMessageBox.Show(null, objBelRecepcao.MontaMsgDeRetornoParaCliente(), Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            //    //if (Convert.ToBoolean(Acesso.EMAIL_AUTOMATICO))
                            //    //{
                            //    //    //EnviaEmail(objBelRecepcao.objListaNfseRetorno);
                            //    //}
                            //}
                            //else
                            //{
                            //    objBelRecepcao.LimpaRecibo(objFrmVisualiza.objLoteRpsAlter);
                            //    objfrmStatus.Close();
                            //    KryptonMessageBox.Show(null, sMsgErro + Environment.NewLine, Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            //}
                        }
                    }
                    else
                    {
                        KryptonMessageBox.Show("Nenhuma nota Válida foi Selecionada", Mensagens.MSG_Aviso, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                PesquisaNotas();
            }
            catch (Exception ex)
            {
                if (objfrmStatus != null)
                {
                    objfrmStatus.Close();
                }

                new HLPexception(ex);
                PesquisaNotas();
            }
        }
        private void btnContingencia_Click(object sender, EventArgs e)
        {
            List<belPesquisaNotas> objSelect = BuscaNotasSelecionadas().Where(c =>
                                                                  c.bEnviado == false &&
                                                                  c.bDenegada == false &&
                                                                  c.bCancelado == false &&
                                                               c.sRECIBO_NF == "").ToList<belPesquisaNotas>();
            try
            {
                if (objSelect.Count() > 0)
                {

                    if (objSelect.Where(c => c.sCD_NOTAFIS == "").Count() > 0)
                    {
                        belNumeroNF objbelNumeracao = new belNumeroNF(objSelect.Where(c => c.sCD_NOTAFIS == "").ToList());
                        frmGeraNumeracaoNFe objfrmGeraNumeracao = new frmGeraNumeracaoNFe(objbelNumeracao, false);
                        objfrmGeraNumeracao.ShowDialog();
                        if (!objfrmGeraNumeracao.bGerou)
                        {
                            throw new Exception("Transmissão de Notas abortada");
                        }
                    }
                    belCarregaDados objbelCarregaDados = new belCarregaDados(objSelect);
                    objbelCarregaDados.CarregaDados();
                    frmVisualizaNFe objfrmVisualizaNFe = new frmVisualizaNFe(objbelCarregaDados.lNotas);
                    objfrmVisualizaNFe.ShowDialog();
                    if (objfrmVisualizaNFe.Cancelado)
                    {
                        throw new Exception("Envio da(s) Nota(s) Cancelado");
                    }
                    objbelCarregaDados.objbelCriaXml.GeraLoteXmlEnvio();

                    foreach (belPesquisaNotas item in objSelect)
                    {
                        item.AlteraStatusNotaParaContingenciaFS();
                    }
                    KryptonMessageBox.Show(belTrataMensagemNFe.RetornaMensagem(objSelect, belTrataMensagemNFe.Tipo.ContingenciaFS), Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    PesquisaNotas();
                }
            }
            catch (Exception ex)
            {
                new HLPexception(ex);
            }

        }
Example #4
0
        public void EnviarNFe()
        {
            List <belPesquisaNotas> objSelect = BuscaNotasSelecionadas().Where(c =>
                                                                               c.bEnviado == false &&
                                                                               c.bDenegada == false &&
                                                                               c.bCancelado == false &&
                                                                               c.sRECIBO_NF == "").ToList <belPesquisaNotas>();

            try
            {
                frmEnviaLotes objfrmLotes = null;
                if (objSelect.Count() > 0)
                {
                    belCarregaDados objbelCarregaDados = null;

                    if (objSelect.Where(c => c.sCD_NOTAFIS == "").Count() > 0)
                    {
                        belNumeroNF         objbelNumeracao     = new belNumeroNF(objSelect.Where(c => c.sCD_NOTAFIS == "").ToList());
                        frmGeraNumeracaoNFe objfrmGeraNumeracao = new frmGeraNumeracaoNFe(objbelNumeracao, false);
                        if (Acesso.TP_EMIS == 3)
                        {
                            if (String.IsNullOrEmpty(Acesso.GRUPO_SCAN))
                            {
                                throw new Exception("Sistema em modo SCAN, configure um grupo de faturamento para utilizar com a série 900");
                            }
                            else
                            {
                                objfrmGeraNumeracao.cbxGrupos.cbx.SelectedValue = Acesso.GRUPO_SCAN;
                            }
                        }
                        else
                        {
                            if (String.IsNullOrEmpty(objbelNumeracao.sGrupoNF))
                            {
                                throw new Exception("Nota fiscal sem grupo de Faturamento salvo, Impossível gerar numeração.");
                            }
                            else
                            {
                                objfrmGeraNumeracao.cbxGrupos.cbx.SelectedValue = objbelNumeracao.sGrupoNF;
                            }
                        }
                        objfrmGeraNumeracao.ShowDialog();
                        if (!objfrmGeraNumeracao.bGerou)
                        {
                            throw new Exception("Transmissão de Notas abortada");
                        }

                        //Thread workThread = new Thread(objbelNumeracao.AlteraDuplicatasNFe);
                        //workThread.Start();
                        //while (!workThread.IsAlive) ;
                    }
                    if (objSelect.Where(c => c.bContingencia).Count() > 1)
                    {
                        throw new Exception("Selecione uma nota de cada vez quando houver notas de contingêcia a ser enviada.");
                    }
                    else if ((objSelect.Where(c => c.bContingencia).Count() == 1))
                    {
                        if (objSelect.Count() > 1)
                        {
                            throw new Exception("Selecione uma nota de cada vez quando houver notas de contingêcia a ser enviada.");
                        }
                        else
                        {
                            objbelCarregaDados = new belCarregaDados();
                            DirectoryInfo dinfo = new DirectoryInfo(Pastas.CONTINGENCIA);
                            FileInfo[]    files = dinfo.GetFiles("*.xml");
                            string        sPath = string.Empty;
                            XmlDocument   xml   = new XmlDocument();
                            foreach (FileInfo f in files)
                            {
                                if (f.Name.Length == 26)
                                {
                                    xml.Load(f.FullName);
                                    if (xml.GetElementsByTagName("infNFe")[0].Attributes["Id"].Value.ToString().Replace("NFe", "").Equals(objSelect.FirstOrDefault().sCHAVENFE))
                                    {
                                        sPath = f.FullName;
                                        string sPathDest   = Pastas.ENVIO + "\\" + f.Name;
                                        string sPathOrigem = Pastas.CONTINGENCIA + "\\" + f.Name;
                                        if (File.Exists(sPathDest))
                                        {
                                            File.Delete(sPathDest);
                                        }
                                        File.Copy(sPathOrigem, sPathDest);
                                    }
                                }
                                else if (f.Name.Length == 52)
                                {
                                    if (f.Name.Replace("-nfe.xml", "") == objSelect.FirstOrDefault().sCHAVENFE)
                                    {
                                        string sPathDest   = Pastas.ENVIO + "\\" + objSelect.FirstOrDefault().sCHAVENFE.Substring(2, 4) + "\\" + objSelect.FirstOrDefault().sCHAVENFE + "-nfe.xml";
                                        string sPathOrigem = Util.BuscaCaminhoArquivoXml(objSelect.FirstOrDefault().sCHAVENFE, 3);
                                        if (File.Exists(sPathDest))
                                        {
                                            File.Delete(sPathDest);
                                        }
                                        File.Copy(sPathOrigem, sPathDest);
                                    }
                                }
                            }
                            if (sPath == "")
                            {
                                throw new Exception("Arquivo xml do Lote não foi encontrado na pasta de Contingência.");
                            }
                            objbelCarregaDados.objbelRecepcao.TransmitirLote(sPath, objSelect);
                        }
                    }
                    else
                    {
                        objSelect = ConsultaClienteBeforeEnvio(objSelect);

                        if (objSelect.Count() > 0)
                        {
                            objfrmLotes = new frmEnviaLotes(objSelect);
                            objfrmLotes.ShowDialog();

                            //objbelCarregaDados = new belCarregaDados(objSelect);
                            //frmVisualizaNFe objfrmVisualizaNFe = new frmVisualizaNFe(objbelCarregaDados);
                            //objfrmVisualizaNFe.ShowDialog();
                            //if (objfrmVisualizaNFe.Cancelado)
                            //{
                            //    throw new Exception("Envio da(s) Nota(s) Cancelado");
                            //}
                            //objbelCarregaDados.objbelCriaXml.GeraLoteXmlEnvio();

                            //objbelCarregaDados.objbelRecepcao.TransmitirLote(objbelCarregaDados.objbelCriaXml.sPathLote, objSelect);
                            if (objfrmLotes.bCancelado == true)
                            {
                                throw new Exception("Envio da(s) Nota(s) Cancelado.");
                            }
                        }
                    }

                    if (objfrmLotes == null)
                    {
                        if (objSelect.Count() > 0)
                        {
                            belBusRetFazenda objbelRetFazenda = new belBusRetFazenda(objSelect);
                            frmBuscaRetorno  objFrmBuscaRet   = new frmBuscaRetorno(objbelRetFazenda);
                            objFrmBuscaRet.ShowDialog();
                            KryptonMessageBox.Show(belTrataMensagemNFe.RetornaMensagem(objbelRetFazenda.lDadosRetorno, belTrataMensagemNFe.Tipo.Envio), Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            cboStatus.cbx.SelectedIndex = 2;
                            PesquisaNotas();

                            List <string>           lsNotas = objbelRetFazenda.lDadosRetorno.Select(c => c.seqNota).ToList <string>();
                            List <belPesquisaNotas> dados   = (from c in ((List <belPesquisaNotas>)bsNotas.DataSource)
                                                               where lsNotas.Contains(c.sCD_NFSEQ)
                                                               select c).ToList();
                            bsNotas.DataSource = dados;
                        }
                    }
                    else
                    {
                        cboStatus.cbx.SelectedIndex = 2;
                        PesquisaNotas();
                        if (objfrmLotes != null)
                        {
                            List <string>           lsNotas = objfrmLotes.lDadosRetorno.Select(c => c.seqNota).ToList <string>();
                            List <belPesquisaNotas> dados   = (from c in ((List <belPesquisaNotas>)bsNotas.DataSource)
                                                               where lsNotas.Contains(c.sCD_NFSEQ)
                                                               select c).ToList();
                            bsNotas.DataSource = dados;
                        }
                    }
                    cboStatus.cbx.SelectedIndex = 1;
                    ColoriGrid();
                    ValidaContadorBuscaRetorno();
                }
            }
            catch (Exception ex)
            {
                new HLPexception(ex);
                cboStatus.cbx.SelectedIndex = 1;
                PesquisaNotas();
            }
        }
        public void EnviarNFe()
        {
            List<belPesquisaNotas> objSelect = BuscaNotasSelecionadas().Where(c =>
                                                                   c.bEnviado == false &&
                                                                   c.bDenegada == false &&
                                                                   c.bCancelado == false &&
                                                                   c.sRECIBO_NF == "").ToList<belPesquisaNotas>();
            try
            {

                frmEnviaLotes objfrmLotes = null;
                if (objSelect.Count() > 0)
                {

                    belCarregaDados objbelCarregaDados = null;

                    if (objSelect.Where(c => c.sCD_NOTAFIS == "").Count() > 0)
                    {
                        belNumeroNF objbelNumeracao = new belNumeroNF(objSelect.Where(c => c.sCD_NOTAFIS == "").ToList());
                        frmGeraNumeracaoNFe objfrmGeraNumeracao = new frmGeraNumeracaoNFe(objbelNumeracao, false);
                        if (Acesso.TP_EMIS == 3)
                        {
                            if (String.IsNullOrEmpty(Acesso.GRUPO_SCAN))
                            {
                                throw new Exception("Sistema em modo SCAN, configure um grupo de faturamento para utilizar com a série 900");
                            }
                            else
                            {
                                objfrmGeraNumeracao.cbxGrupos.cbx.SelectedValue = Acesso.GRUPO_SCAN;
                            }
                        }
                        else
                        {
                            if (String.IsNullOrEmpty(objbelNumeracao.sGrupoNF))
                            {
                                throw new Exception("Nota fiscal sem grupo de Faturamento salvo, Impossível gerar numeração.");
                            }
                            else
                            {
                                objfrmGeraNumeracao.cbxGrupos.cbx.SelectedValue = objbelNumeracao.sGrupoNF;
                            }
                        }
                        objfrmGeraNumeracao.ShowDialog();
                        if (!objfrmGeraNumeracao.bGerou)
                        {
                            throw new Exception("Transmissão de Notas abortada");
                        }

                        //Thread workThread = new Thread(objbelNumeracao.AlteraDuplicatasNFe);
                        //workThread.Start();
                        //while (!workThread.IsAlive) ;

                    }
                    if (objSelect.Where(c => c.bContingencia).Count() > 1)
                    {
                        throw new Exception("Selecione uma nota de cada vez quando houver notas de contingêcia a ser enviada.");
                    }
                    else if ((objSelect.Where(c => c.bContingencia).Count() == 1))
                    {
                        if (objSelect.Count() > 1)
                        {
                            throw new Exception("Selecione uma nota de cada vez quando houver notas de contingêcia a ser enviada.");
                        }
                        else
                        {
                            objbelCarregaDados = new belCarregaDados();
                            DirectoryInfo dinfo = new DirectoryInfo(Pastas.CONTINGENCIA);
                            FileInfo[] files = dinfo.GetFiles("*.xml");
                            string sPath = string.Empty;
                            XmlDocument xml = new XmlDocument();
                            foreach (FileInfo f in files)
                            {
                                if (f.Name.Length == 26)
                                {
                                    xml.Load(f.FullName);
                                    if (xml.GetElementsByTagName("infNFe")[0].Attributes["Id"].Value.ToString().Replace("NFe", "").Equals(objSelect.FirstOrDefault().sCHAVENFE))
                                    {
                                        sPath = f.FullName;
                                        string sPathDest = Pastas.ENVIO + "\\" + f.Name;
                                        string sPathOrigem = Pastas.CONTINGENCIA + "\\" + f.Name;
                                        if (File.Exists(sPathDest))
                                        {
                                            File.Delete(sPathDest);
                                        }
                                        File.Copy(sPathOrigem, sPathDest);
                                    }
                                }
                                else if (f.Name.Length == 52)
                                {
                                    if (f.Name.Replace("-nfe.xml", "") == objSelect.FirstOrDefault().sCHAVENFE)
                                    {
                                        string sPathDest = Pastas.ENVIO + "\\" + objSelect.FirstOrDefault().sCHAVENFE.Substring(2, 4) + "\\" + objSelect.FirstOrDefault().sCHAVENFE + "-nfe.xml";
                                        string sPathOrigem = Util.BuscaCaminhoArquivoXml(objSelect.FirstOrDefault().sCHAVENFE, 3);
                                        if (File.Exists(sPathDest))
                                        {
                                            File.Delete(sPathDest);
                                        }
                                        File.Copy(sPathOrigem, sPathDest);
                                    }
                                }
                            }
                            if (sPath == "")
                            {
                                throw new Exception("Arquivo xml do Lote não foi encontrado na pasta de Contingência.");
                            }
                            objbelCarregaDados.objbelRecepcao.TransmitirLote(sPath, objSelect);
                        }
                    }
                    else
                    {

                        objSelect = ConsultaClienteBeforeEnvio(objSelect);

                        if (objSelect.Count() > 0)
                        {
                            objfrmLotes = new frmEnviaLotes(objSelect);
                            objfrmLotes.ShowDialog();

                            //objbelCarregaDados = new belCarregaDados(objSelect);
                            //frmVisualizaNFe objfrmVisualizaNFe = new frmVisualizaNFe(objbelCarregaDados);
                            //objfrmVisualizaNFe.ShowDialog();
                            //if (objfrmVisualizaNFe.Cancelado)
                            //{
                            //    throw new Exception("Envio da(s) Nota(s) Cancelado");
                            //}
                            //objbelCarregaDados.objbelCriaXml.GeraLoteXmlEnvio();

                            //objbelCarregaDados.objbelRecepcao.TransmitirLote(objbelCarregaDados.objbelCriaXml.sPathLote, objSelect);
                            if (objfrmLotes.bCancelado == true)
                            {
                                throw new Exception("Envio da(s) Nota(s) Cancelado.");
                            }
                        }
                    }

                    if (objfrmLotes == null)
                    {
                        if (objSelect.Count() > 0)
                        {
                            belBusRetFazenda objbelRetFazenda = new belBusRetFazenda(objSelect);
                            frmBuscaRetorno objFrmBuscaRet = new frmBuscaRetorno(objbelRetFazenda);
                            objFrmBuscaRet.ShowDialog();
                            KryptonMessageBox.Show(belTrataMensagemNFe.RetornaMensagem(objbelRetFazenda.lDadosRetorno, belTrataMensagemNFe.Tipo.Envio), Mensagens.CHeader, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            cboStatus.cbx.SelectedIndex = 2;
                            PesquisaNotas();

                            List<string> lsNotas = objbelRetFazenda.lDadosRetorno.Select(c => c.seqNota).ToList<string>();
                            List<belPesquisaNotas> dados = (from c in ((List<belPesquisaNotas>)bsNotas.DataSource)
                                                            where lsNotas.Contains(c.sCD_NFSEQ)
                                                            select c).ToList();
                            bsNotas.DataSource = dados;
                        }
                    }
                    else
                    {
                        cboStatus.cbx.SelectedIndex = 2;
                        PesquisaNotas();
                        if (objfrmLotes != null)
                        {
                            List<string> lsNotas = objfrmLotes.lDadosRetorno.Select(c => c.seqNota).ToList<string>();
                            List<belPesquisaNotas> dados = (from c in ((List<belPesquisaNotas>)bsNotas.DataSource)
                                                            where lsNotas.Contains(c.sCD_NFSEQ)
                                                            select c).ToList();
                            bsNotas.DataSource = dados;
                        }

                    }
                    cboStatus.cbx.SelectedIndex = 1;
                    ColoriGrid();
                    ValidaContadorBuscaRetorno();
                }
            }
            catch (Exception ex)
            {
                new HLPexception(ex);
                cboStatus.cbx.SelectedIndex = 1;
                PesquisaNotas();
            }
        }