Ejemplo n.º 1
0
        public override int buscarRegistros()
        {
            CamadaDados.Faturamento.Cadastros.TList_CfgNfe lista =
                CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(cd_empresa.Text,
                                                                      path_nfe_schemas.Text,
                                                                      nr_certificado.Text,
                                                                      null);

            if (lista != null)
            {
                if (lista.Count > 0)
                {
                    this.Lista           = lista;
                    bsCfgfNfe.DataSource = lista;
                }
                else
                if ((vTP_Modo == Utils.TTpModo.tm_Standby) || (vTP_Modo == Utils.TTpModo.tm_busca))
                {
                    bsCfgfNfe.Clear();
                }
                return(lista.Count);
            }
            else
            {
                return(0);
            }
        }
Ejemplo n.º 2
0
        private void bb_empresa_Click(object sender, EventArgs e)
        {
            string vParam = "|exists|(select 1 from tb_pdc_cfgposto x " +
                            "           where x.cd_empresa = a.cd_empresa)";

            FormBusca.UtilPesquisa.BTN_BuscaEmpresa(new Componentes.EditDefault[] { cd_empresa }, vParam);
            if (!string.IsNullOrEmpty(cd_empresa.Text))
            {
                CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                    CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(cd_empresa.Text,
                                                                          string.Empty,
                                                                          string.Empty,
                                                                          null);
                if (lCfg.Count > 0)
                {
                    rCfg             = lCfg[0];
                    lblAmbiente.Text = rCfg.Tipo_ambiente_lmc.Trim().ToUpper();
                }
                else
                {
                    rCfg             = null;
                    lblAmbiente.Text = "SEM CONFIGURAÇÃO";
                }
            }
            else
            {
                rCfg             = null;
                lblAmbiente.Text = "SEM CONFIGURAÇÃO";
            }
        }
Ejemplo n.º 3
0
 private void bb_enviarevento_Click(object sender, EventArgs e)
 {
     if (bsEvento.Current != null)
     {
         if ((bsEvento.Current as TRegistro_EventoNFCe).St_registro.Trim().ToUpper().Equals("T"))
         {
             MessageBox.Show("Evento TRANSMITIDO.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         if ((bsEvento.Current as TRegistro_EventoNFCe).Tp_evento.Trim().ToUpper().Equals("CA"))
         {
             afterExclui();
         }
         else
         {
             //Buscar CfgNfe para a empresa
             CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                 CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                       string.Empty,
                                                                       string.Empty,
                                                                       null);
             if (lCfg.Count.Equals(0))
             {
                 MessageBox.Show("Não existe configuração para envio de EVENTO para a empresa " + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + ".",
                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             else
             {
                 try
                 {
                     string msg = NFCe.EventoNFCe.TEventoNFCe.EnviarEvento(bsEvento.Current as TRegistro_EventoNFCe, lCfg[0]);
                     if (!string.IsNullOrEmpty(msg))
                     {
                         MessageBox.Show("Erro ao enviar EVENTO para a receita. Aguarde um tempo e tente novamente.\r\n" +
                                         "Erro: " + msg.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                     else
                     {
                         MessageBox.Show("EVENTO enviado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         (bsNFCe.Current as TRegistro_NFCe).lEvento =
                             TCN_EventoNFCe.Buscar((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                   (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr,
                                                   string.Empty,
                                                   null);
                     }
                 }
                 catch (Exception ex)
                 { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
             }
         }
     }
 }
Ejemplo n.º 4
0
 private void EnviarCCe()
 {
     if (bsEventoNFe.Current != null)
     {
         if ((bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).St_registro.Trim().ToUpper().Equals("T"))
         {
             MessageBox.Show("Evento ja esta TRANSMITIDO.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         //Buscar CfgNfe para a empresa
         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(rNfe.Cd_empresa,
                                                                   string.Empty,
                                                                   string.Empty,
                                                                   null);
         if (lCfg.Count.Equals(0))
         {
             MessageBox.Show("Não existe configuração para envio de CCe para a empresa " + rNfe.Cd_empresa.Trim() + ".",
                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             try
             {
                 string msg = srvNFE.Evento.TEventoNFe.EnviarEvento(bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe, lCfg[0]);
                 if (!string.IsNullOrEmpty(msg))
                 {
                     MessageBox.Show("Erro ao enviar CCe para a receita. Aguarde um tempo e tente novamente.\r\n" +
                                     "Erro: " + msg.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else
                 {
                     MessageBox.Show("CCe enviado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     bsEventoNFe.DataSource = CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Buscar(string.Empty,
                                                                                                 rNfe.Cd_empresa,
                                                                                                 rNfe.Nr_lanctofiscal.ToString(),
                                                                                                 string.Empty,
                                                                                                 string.Empty,
                                                                                                 "CC",
                                                                                                 string.Empty,
                                                                                                 null);
                     this.ImprimirEventoCCe();
                 }
             }
             catch (Exception ex)
             { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }
Ejemplo n.º 5
0
 private void cbEmpresa_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbEmpresa.SelectedValue != null && rCfgNfe == null)
     {
         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(cbEmpresa.SelectedValue.ToString(),
                                                                   string.Empty,
                                                                   string.Empty,
                                                                   null);
         if (lCfg.Count > 0)
         {
             rCfgNfe = lCfg[0];
         }
     }
 }
Ejemplo n.º 6
0
 private void bbConsultarLote_Click(object sender, EventArgs e)
 {
     if (bsContingencia.Current != null)
     {
         //Buscar CfgNfe
         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsContingencia.Current as CamadaDados.Faturamento.PDV.TRegistro_ContingenciaNFCeOFF).Cd_empresa,
                                                                   string.Empty,
                                                                   string.Empty,
                                                                   null);
         if (lCfgNfe.Count > 0)
         {
             try
             {
                 NFCe.RetAutoriza.TRetAutoriza.ConsultaNFERecepcao(lCfgNfe[0]);
                 bsNFCeEnviar.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         decimal.Zero,
                                                                                         decimal.Zero,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         (bsContingencia.Current as CamadaDados.Faturamento.PDV.TRegistro_ContingenciaNFCeOFF).Id_contingenciastr,
                                                                                         false,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         0,
                                                                                         null);
             }
             catch { }
         }
         else
         {
             MessageBox.Show("Não existe configuração para emitir NFCe na empresa " + (bsContingencia.Current as CamadaDados.Faturamento.PDV.TRegistro_ContingenciaNFCeOFF).Cd_empresa + ".", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
 }
Ejemplo n.º 7
0
 private void bbEnvEventoNFCe_Click(object sender, EventArgs e)
 {
     if (bsNFCeEnviar.Current != null)
     {
         if ((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).St_registro.Trim().ToUpper().Equals("C") &&
             (!(bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_contingencia.HasValue ||
              ((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_contingencia.HasValue &&
               (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).St_transmitidocancnfce)))
         {
             MessageBox.Show("NFCe ja se encontra CANCELADA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         string msg = string.Empty;
         if ((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_contingencia.HasValue &&
             !(bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_protocolo.HasValue)
         {
             msg = "NFCe emitida em CONTINGÊNCIA OFFLINE e ainda não transmitida para a receita.\r\n" +
                   "O cancelamento desta NFCe somente ocorrerá após o envio da mesma para receita.";
         }
         if (MessageBox.Show((string.IsNullOrEmpty(msg) ? string.Empty : msg + "\r\n") + "Confirma cancelamento NFCe?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
             == DialogResult.Yes)
         {
             try
             {
                 bool st_cancelar = true;
                 if ((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_protocolo.HasValue ||
                     (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_contingencia.HasValue)
                 {
                     string motivo = string.Empty;
                     CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg = null;
                     CamadaDados.Faturamento.Cadastros.TList_Evento lEv  = null;
                     //Verificar evento
                     CamadaDados.Faturamento.PDV.TList_EventoNFCe lEvento =
                         CamadaNegocio.Faturamento.PDV.TCN_EventoNFCe.Buscar((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_empresa,
                                                                             (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_nfcestr,
                                                                             string.Empty,
                                                                             null);
                     if (lEvento.Count.Equals(0))
                     {
                         if (string.IsNullOrEmpty(motivo))
                         {
                             Utils.InputBox ibp = new Utils.InputBox();
                             ibp.Text = "Motivo Cancelamento NFCe";
                             motivo   = ibp.ShowDialog();
                             if (string.IsNullOrEmpty(motivo))
                             {
                                 MessageBox.Show("Obrigatorio informar motivo de cancelamento da NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                             if (motivo.Trim().Length < 15)
                             {
                                 MessageBox.Show("Motivo de cancelamento deve ter mais que 15 caracteres.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                         }
                         //Buscar evento Cancelamento
                         if (lEv == null)
                         {
                             lEv = CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CA", null);
                         }
                         if (lEv.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe evento de CANCELAMENTO NFE cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         //Cancelar NFe Receita
                         CamadaDados.Faturamento.PDV.TRegistro_EventoNFCe rEvento = new CamadaDados.Faturamento.PDV.TRegistro_EventoNFCe();
                         rEvento.Cd_empresa        = (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_empresa;
                         rEvento.Id_cupom          = (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_nfce;
                         rEvento.Chave_acesso_nfce = (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Chave_acesso;
                         rEvento.Nr_protocoloNFCe  = (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_protocolo;
                         rEvento.Dt_evento         = CamadaDados.UtilData.Data_Servidor();
                         rEvento.Justificativa     = motivo;
                         rEvento.Cd_eventostr      = lEv[0].Cd_eventostr;
                         rEvento.Tp_evento         = lEv[0].Tp_evento;
                         rEvento.Ds_evento         = lEv[0].Ds_evento;
                         rEvento.St_registro       = "A";
                         CamadaNegocio.Faturamento.PDV.TCN_EventoNFCe.Gravar(rEvento, null);
                         lEvento.Add(rEvento);
                     }
                     if (!lEvento[0].St_registro.Trim().ToUpper().Equals("T") &&
                         (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_protocolo.HasValue)
                     {
                         //Buscar CfgNfe para a empresa
                         if (lCfg == null)
                         {
                             lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_empresa,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          null);
                         }
                         if (lCfg.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe configuração para envio de evento para a empresa " + (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_empresa.Trim() + ".",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                         else
                         {
                             msg = NFCe.EventoNFCe.TEventoNFCe.EnviarEvento(lEvento[0], lCfg[0]);
                             if (!string.IsNullOrEmpty(msg))
                             {
                                 MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                 "Aguarde um tempo e tente novamente.\r\n" +
                                                 "Erro: " + msg.Trim() + ".",
                                                 "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                 st_cancelar = false;
                             }
                         }
                     }
                 }
                 if (st_cancelar)
                 {
                     CamadaNegocio.Faturamento.PDV.TCN_NFCe.CancelarCF(bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe, null);
                     MessageBox.Show("NFCe cancelada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     if (!(bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_protocolo.HasValue &&
                         !(bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Id_contingencia.HasValue)
                     {
                         CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq =
                             CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Busca((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_serie,
                                                                                          (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_modelo,
                                                                                          (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_empresa,
                                                                                          null);
                         if (lSeq.Count > 0)
                         {
                             if (lSeq[0].Seq_NotaFiscal.Equals((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).NR_NFCe))
                             {
                                 lSeq[0].Seq_NotaFiscal--;
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], null);
                                 MessageBox.Show("Sequencia de numeração da serie voltada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 //Buscar configuracao nfe
                                 CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                                     CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_empresa,
                                                                                           string.Empty,
                                                                                           string.Empty,
                                                                                           null);
                                 if (lCfgNfe.Count > 0)
                                 {
                                     try
                                     {
                                         //Inutilizar numero nota
                                         NFCe.InutilizaNFCe.TInutilizaNFCe.InutilizarNFCe(lCfgNfe[0].Cd_uf_empresa,
                                                                                          lCfgNfe[0].Cnpj_empresa,
                                                                                          (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Nr_serie,
                                                                                          (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).Cd_modelo,
                                                                                          DateTime.Now.Year.ToString(),
                                                                                          (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).NR_NFCe.Value,
                                                                                          (bsNFCeEnviar.Current as CamadaDados.Faturamento.PDV.TRegistro_NFCe).NR_NFCe.Value,
                                                                                          "NUMERO INUTILIZADO DEVIDO A ERRO NA EMISSAO DA NFCe",
                                                                                          lCfgNfe[0]);
                                         MessageBox.Show("Numero INUTILIZADO com sucesso na receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     }
                                     catch (Exception ex)
                                     { MessageBox.Show("Erro: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                 }
                             }
                         }
                     }
                     afterBusca();
                 }
             }
             catch (Exception ex)
             { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }
Ejemplo n.º 8
0
 private void bbEnvNFCe_Click(object sender, EventArgs e)
 {
     if (bsNFCeEnviar.Count > 0)
     {
         //Buscar CfgNfe
         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsContingencia.Current as CamadaDados.Faturamento.PDV.TRegistro_ContingenciaNFCeOFF).Cd_empresa,
                                                                   string.Empty,
                                                                   string.Empty,
                                                                   null);
         if (lCfgNfe.Count > 0)
         {
             List <CamadaDados.Faturamento.PDV.TRegistro_NFCe> lNFCEnviar = new List <CamadaDados.Faturamento.PDV.TRegistro_NFCe>();
             if (bsNFCeEnviar.Count > 0)
             {
                 if ((bsNFCeEnviar.List as CamadaDados.Faturamento.PDV.TList_NFCe).Exists(p => p.St_processar))
                 {
                     (bsNFCeEnviar.List as CamadaDados.Faturamento.PDV.TList_NFCe).FindAll(p => p.St_processar).Take(50).ToList().ForEach(p =>
                                                                                                                                          lNFCEnviar.Add(CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarNFCe(p.Cd_empresa, p.Id_nfcestr, null)));
                 }
             }
             //Gerar e assinar Arquivos xml
             try
             {
                 NFCe.EnviaArq.TEnviaArq.EnviarLote(null, lNFCEnviar);
                 if (lNFCEnviar.Count > 1)
                 {
                     System.Threading.Thread.Sleep(1000);
                     try
                     {
                         NFCe.RetAutoriza.TRetAutoriza.ConsultaNFERecepcao(lCfgNfe[0]);
                     }
                     catch { }
                 }
                 bsNFCeEnviar.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         decimal.Zero,
                                                                                         decimal.Zero,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         (bsContingencia.Current as CamadaDados.Faturamento.PDV.TRegistro_ContingenciaNFCeOFF).Id_contingenciastr,
                                                                                         false,
                                                                                         string.Empty,
                                                                                         string.Empty,
                                                                                         0,
                                                                                         null);
             }
             catch (Exception ex)
             {
                 MessageBox.Show("Erro enviar NF-e: " + ex.Message);
             }
         }
         else
         {
             MessageBox.Show("Não existe configuração para emitir NFCe na empresa " + (bsContingencia.Current as CamadaDados.Faturamento.PDV.TRegistro_ContingenciaNFCeOFF).Cd_empresa + ".", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
 }
Ejemplo n.º 9
0
 private void EmitirCCe()
 {
     if (rNfe != null)
     {
         if (rNfe.Status.Value.Equals(100))
         {
             //Buscar evento Carta Correcao
             CamadaDados.Faturamento.Cadastros.TList_Evento lEvento =
                 CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CC", null);
             if (lEvento.Count.Equals(0))
             {
                 MessageBox.Show("Não existe evento de CARTA CORREÇÃO cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             using (TFCartaCorrecaoEletronica fCCe = new TFCartaCorrecaoEletronica())
             {
                 if (fCCe.ShowDialog() == DialogResult.OK)
                 {
                     try
                     {
                         CamadaDados.Faturamento.NFE.TRegistro_EventoNFe rCCe = new CamadaDados.Faturamento.NFE.TRegistro_EventoNFe();
                         rCCe.Cd_empresa       = rNfe.Cd_empresa;
                         rCCe.Nr_lanctofiscal  = rNfe.Nr_lanctofiscal;
                         rCCe.Chave_acesso_nfe = rNfe.Chave_acesso_nfe;
                         rCCe.Dt_evento        = CamadaDados.UtilData.Data_Servidor();
                         rCCe.Ds_evento        = fCCe.Ds_correcao;
                         rCCe.Cd_eventostr     = lEvento[0].Cd_eventostr;
                         rCCe.Descricao_evento = lEvento[0].Ds_evento;
                         rCCe.Tp_evento        = lEvento[0].Tp_evento;
                         rCCe.St_registro      = "A";
                         CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Gravar(rCCe, null);
                         if (MessageBox.Show("Carta correção eletronica gravada com sucesso.\r\n" +
                                             "Deseja enviar a mesma para a receita?", "Pergunta",
                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                             == DialogResult.Yes)
                         {
                             //Buscar CfgNfe para a empresa
                             CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(rNfe.Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       null);
                             if (lCfg.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração para envio de CCe para a empresa " + rNfe.Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 try
                                 {
                                     string msg = srvNFE.Evento.TEventoNFe.EnviarEvento(rCCe, lCfg[0]);
                                     if (!string.IsNullOrEmpty(msg))
                                     {
                                         MessageBox.Show("Erro ao enviar CCe para a receita. Aguarde um tempo e tente novamente.\r\n" +
                                                         "Erro: " + msg.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                     }
                                     else
                                     {
                                         MessageBox.Show("CCe enviado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                         this.ImprimirEventoCCe();
                                     }
                                 }
                                 catch (Exception ex)
                                 { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                             }
                         }
                         bsEventoNFe.DataSource = CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Buscar(string.Empty,
                                                                                                     rNfe.Cd_empresa,
                                                                                                     rNfe.Nr_lanctofiscal.ToString(),
                                                                                                     string.Empty,
                                                                                                     string.Empty,
                                                                                                     "CC",
                                                                                                     string.Empty,
                                                                                                     null);
                     }
                     catch (Exception ex)
                     { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                 }
             }
         }
     }
 }
Ejemplo n.º 10
0
 private void FaturarLote()
 {
     using (TFProcLoteContrato fProc = new TFProcLoteContrato())
     {
         if (fProc.ShowDialog() == DialogResult.OK)
         {
             if (fProc.lContratos != null)
             {
                 Utils.ThreadEspera tEspera = new Utils.ThreadEspera("Inicio processamento lote.");
                 string             ret     = string.Empty;
                 try
                 {
                     ret = CamadaNegocio.Servicos.TCN_Contrato.ProcessarLote(fProc.lContratos, fProc.Dt_referencia, tEspera, null);
                 }
                 finally
                 {
                     tEspera.Fechar();
                     tEspera = null;
                 }
                 MessageBox.Show("Lote processado com sucesso." + (string.IsNullOrEmpty(ret) ? string.Empty : "\r\nOs seguintes contratos não foram processados:\r\n" + ret.Trim()), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lLote = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento();
                 //Buscar CfgNfe para a empresa
                 CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                     CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(fProc.lContratos[0].Cd_empresa,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           null);
                 if (lCfgNfe.Count.Equals(0))
                 {
                     MessageBox.Show("Não existe configuração para envio de NFS-e para a empresa " + fProc.lContratos[0].Cd_empresa.Trim() + ".",
                                     "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
                 else
                 {
                     fProc.lContratos.ForEach(p =>
                     {
                         if (p.lNF.Count > 0)
                         {
                             if (p.lNF[0].Cd_modelo.Trim().Equals("55"))
                             {
                                 lLote.Add(CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(p.lNF[0].Cd_empresa, p.lNF[0].Nr_lanctofiscalstr, null));
                             }
                         }
                         if (lLote.Count.Equals(50))
                         {
                             NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                             MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             lLote.Clear();
                         }
                     });
                     if (lLote.Count > 0)
                     {
                         NFES.TGerarRPS.CriarArquivoRPS(lCfgNfe[0], lLote);
                         MessageBox.Show("Lote RPS enviado com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                 }
                 //Imprimir boletos
                 CamadaDados.Financeiro.Bloqueto.blListaTitulo lBloq = new CamadaDados.Financeiro.Bloqueto.blListaTitulo();
                 fProc.lContratos.ForEach(p =>
                 {
                     if (p.lNF.Count > 0)
                     {
                         if (p.lNF[0].Duplicata.Count > 0)
                         {
                             CamadaNegocio.Financeiro.Bloqueto.TCN_Titulo.Buscar(p.lNF[0].Cd_empresa,
                                                                                 p.lNF[0].Duplicata[0].Nr_lancto,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 decimal.Zero,
                                                                                 decimal.Zero,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 string.Empty,
                                                                                 false,
                                                                                 0,
                                                                                 null).ForEach(v => lBloq.Add(v));
                         }
                     }
                 });
                 if (lBloq.Count > 0)
                 {
                     FormRelPadrao.TCN_LayoutBloqueto.Imprime_Bloqueto(false,
                                                                       lBloq,
                                                                       false,
                                                                       true,
                                                                       false,
                                                                       false,
                                                                       string.Empty,
                                                                       null,
                                                                       "BLOQUETO(S) CONTRATO SERVIÇO",
                                                                       string.Empty,
                                                                       false);
                 }
             }
         }
     }
 }
Ejemplo n.º 11
0
 private void afterExclui()
 {
     if (bsNFCe.Current != null)
     {
         if ((bsNFCe.Current as TRegistro_NFCe).St_registro.Trim().ToUpper().Equals("C") &&
             (!(bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue ||
              ((bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue &&
               (bsNFCe.Current as TRegistro_NFCe).St_transmitidocancnfce)))
         {
             MessageBox.Show("NFCe ja se encontra CANCELADA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         if ((bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue &&
             !(bsNFCe.Current as TRegistro_NFCe).Nr_protocolo.HasValue)
         {
             MessageBox.Show("Não é permitido CANCELAR NFC-e emitida em CONTINGÊNCIA OFFLINE sem antes transmitir a mesma para receita.",
                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         if (MessageBox.Show("Confirma cancelamento NFCe?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
             == DialogResult.Yes)
         {
             try
             {
                 //Verificar se NFCe não esta vinculada a NFe
                 if (new CamadaDados.Faturamento.NotaFiscal.TCD_ECFVinculadoNF().BuscarEscalar(
                         new TpBusca[]
                 {
                     new TpBusca()
                     {
                         vNM_Campo = "a.cd_empresa",
                         vOperador = "=",
                         vVL_Busca = "'" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "'"
                     },
                     new TpBusca()
                     {
                         vNM_Campo = "a.id_cupom",
                         vOperador = "=",
                         vVL_Busca = (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr
                     },
                     new TpBusca()
                     {
                         vNM_Campo = string.Empty,
                         vOperador = "exists",
                         vVL_Busca = "(select 1 from tb_fat_notafiscal x " +
                                     "where x.cd_empresa = a.cd_empresa " +
                                     "and x.nr_lanctofiscal = a.nr_lanctofiscal " +
                                     "and isnull(x.st_registro, 'A') <> 'C')"
                     }
                 }, "1") != null)
                 {
                     MessageBox.Show("Para cancelar NFCe vinculada a NFe, obrigatório antes cancelar a NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 bool st_cancelar = true;
                 if ((bsNFCe.Current as TRegistro_NFCe).Nr_protocolo.HasValue ||
                     (bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue)
                 {
                     string motivo = string.Empty;
                     CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg = null;
                     CamadaDados.Faturamento.Cadastros.TList_Evento lEv  = null;
                     //Verificar evento
                     TList_EventoNFCe lEvento =
                         TCN_EventoNFCe.Buscar((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                               (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr,
                                               string.Empty,
                                               null);
                     if (lEvento.Count.Equals(0))
                     {
                         if (string.IsNullOrEmpty(motivo))
                         {
                             InputBox ibp = new InputBox();
                             ibp.Text = "Motivo Cancelamento NFCe";
                             motivo   = ibp.ShowDialog();
                             if (string.IsNullOrEmpty(motivo))
                             {
                                 MessageBox.Show("Obrigatorio informar motivo de cancelamento da NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                             if (motivo.Trim().Length < 15)
                             {
                                 MessageBox.Show("Motivo de cancelamento deve ter mais que 15 caracteres.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                         }
                         //Buscar evento Cancelamento
                         if (lEv == null)
                         {
                             lEv = CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CA", null);
                         }
                         if (lEv.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe evento de CANCELAMENTO NFE cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         //Cancelar NFe Receita
                         TRegistro_EventoNFCe rEvento = new TRegistro_EventoNFCe();
                         rEvento.Cd_empresa        = (bsNFCe.Current as TRegistro_NFCe).Cd_empresa;
                         rEvento.Id_cupom          = (bsNFCe.Current as TRegistro_NFCe).Id_nfce;
                         rEvento.Chave_acesso_nfce = (bsNFCe.Current as TRegistro_NFCe).Chave_acesso;
                         rEvento.Nr_protocoloNFCe  = (bsNFCe.Current as TRegistro_NFCe).Nr_protocolo;
                         rEvento.Dt_evento         = CamadaDados.UtilData.Data_Servidor();
                         rEvento.Justificativa     = motivo;
                         rEvento.Cd_eventostr      = lEv[0].Cd_eventostr;
                         rEvento.Tp_evento         = lEv[0].Tp_evento;
                         rEvento.Ds_evento         = lEv[0].Ds_evento;
                         rEvento.St_registro       = "A";
                         TCN_EventoNFCe.Gravar(rEvento, null);
                         lEvento.Add(rEvento);
                     }
                     if (!lEvento[0].St_registro.Trim().ToUpper().Equals("T") &&
                         (bsNFCe.Current as TRegistro_NFCe).Nr_protocolo.HasValue)
                     {
                         //Buscar CfgNfe para a empresa
                         if (lCfg == null)
                         {
                             lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                                          string.Empty,
                                                                                          string.Empty,
                                                                                          null);
                         }
                         if (lCfg.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe configuração para envio de evento para a empresa " + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + ".",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                         else
                         {
                             string ret = NFCe.EventoNFCe.TEventoNFCe.EnviarEvento(lEvento[0], lCfg[0]);
                             if (!string.IsNullOrEmpty(ret))
                             {
                                 MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                 "Aguarde um tempo e tente novamente.\r\n" +
                                                 "Erro: " + ret.Trim() + ".",
                                                 "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                 st_cancelar = false;
                             }
                         }
                     }
                 }
                 if (st_cancelar)
                 {
                     if (!(bsNFCe.Current as TRegistro_NFCe).Nr_protocolo.HasValue &&
                         !(bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue &&
                         !string.IsNullOrEmpty((bsNFCe.Current as TRegistro_NFCe).Chave_acesso))
                     {
                         //Buscar CfgNfe para a empresa
                         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfCe =
                             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                                   string.Empty,
                                                                                   string.Empty,
                                                                                   null);
                         if (lCfgNfCe.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe configuração NFC-e para a empresa " + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + ".",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                         else
                         {
                             //Consultar Chave
                             string ret = NFCe.ConsultaChave.TConsultaChave.ConsultaChave((bsNFCe.Current as TRegistro_NFCe).Chave_acesso,
                                                                                          "1",
                                                                                          lCfgNfCe[0]);
                             if (!string.IsNullOrEmpty(ret))
                             {
                                 MessageBox.Show("Não é permtido excluir cupom com chave de acesso existente na receita.\r\n" + ret, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                         }
                     }
                     TCN_NFCe.CancelarCF(bsNFCe.Current as TRegistro_NFCe, null);
                     MessageBox.Show("NFCe cancelada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     if (!(bsNFCe.Current as TRegistro_NFCe).Nr_protocolo.HasValue &&
                         !(bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue)
                     {
                         CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq =
                             CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Busca((bsNFCe.Current as TRegistro_NFCe).Nr_serie,
                                                                                          (bsNFCe.Current as TRegistro_NFCe).Cd_modelo,
                                                                                          (bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                                          null);
                         if (lSeq.Count > 0)
                         {
                             if (lSeq[0].Seq_NotaFiscal.Equals((bsNFCe.Current as TRegistro_NFCe).NR_NFCe))
                             {
                                 lSeq[0].Seq_NotaFiscal--;
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], null);
                                 MessageBox.Show("Sequencia de numeração da serie voltada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 //Buscar configuracao nfe
                                 CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                                     CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar((bsNFCe.Current as TRegistro_NFCe).Cd_empresa,
                                                                                           string.Empty,
                                                                                           string.Empty,
                                                                                           null);
                                 if (lCfgNfe.Count > 0)
                                 {
                                     try
                                     {
                                         //Inutilizar numero nota
                                         NFCe.InutilizaNFCe.TInutilizaNFCe.InutilizarNFCe(lCfgNfe[0].Cd_uf_empresa,
                                                                                          lCfgNfe[0].Cnpj_empresa,
                                                                                          (bsNFCe.Current as TRegistro_NFCe).Nr_serie,
                                                                                          (bsNFCe.Current as TRegistro_NFCe).Cd_modelo,
                                                                                          DateTime.Now.Year.ToString(),
                                                                                          (bsNFCe.Current as TRegistro_NFCe).NR_NFCe.Value,
                                                                                          (bsNFCe.Current as TRegistro_NFCe).NR_NFCe.Value,
                                                                                          "NUMERO INUTILIZADO DEVIDO A ERRO NA EMISSAO DA NFCe",
                                                                                          lCfgNfe[0]);
                                         MessageBox.Show("Numero INUTILIZADO com sucesso na receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     }
                                     catch (Exception ex)
                                     { MessageBox.Show("Erro: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                 }
                             }
                         }
                     }
                     afterBusca();
                 }
             }
             catch (Exception ex)
             { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }
Ejemplo n.º 12
0
 private void CancelarNFe()
 {
     if (string.IsNullOrEmpty(cd_empresa.Text))
     {
         MessageBox.Show("Obrigatorio informar empresa.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         return;
     }
     if (cbSerie.SelectedItem == null)
     {
         MessageBox.Show("Obrigatorio informar serie.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         cbSerie.Focus();
         return;
     }
     if (string.IsNullOrEmpty(nr_notafiscal.Text))
     {
         MessageBox.Show("Obrigatorio informar " + (St_nfce ? "NFCe" : "NFe") + ".", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
         nr_notafiscal.Focus();
         return;
     }
     if (St_nfce)
     {
         CamadaDados.Faturamento.PDV.TList_NFCe lNFCe =
             CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(string.Empty,
                                                           nr_notafiscal.Text,
                                                           cd_empresa.Text,
                                                           string.Empty,
                                                           string.Empty,
                                                           string.Empty,
                                                           string.Empty,
                                                           decimal.Zero,
                                                           decimal.Zero,
                                                           string.Empty,
                                                           string.Empty,
                                                           cbSerie.SelectedValue.ToString(),
                                                           string.Empty,
                                                           false,
                                                           string.Empty,
                                                           string.Empty,
                                                           1,
                                                           null);
         if (lNFCe.Count > 0)
         {
             List <CamadaDados.Faturamento.PDV.TRegistro_VendaRapida> lVenda = null;
             if (lNFCe[0].St_registro.Trim().ToUpper().Equals("C"))
             {
                 MessageBox.Show("NFCe ja se encontra CANCELADA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
             }
             string msg = string.Empty;
             if (lNFCe[0].Id_contingencia.HasValue &&
                 !lNFCe[0].Nr_protocolo.HasValue)
             {
                 msg = "NFCe emitida em CONTINGÊNCIA OFFLINE e ainda não transmitida para a receita.\r\n" +
                       "O cancelamento desta NFCe somente ocorrerá após o envio da mesma para receita.";
             }
             if (MessageBox.Show((string.IsNullOrEmpty(msg) ? string.Empty : msg + "\r\n") + "Confirma cancelamento NFCe?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                 == DialogResult.Yes)
             {
                 try
                 {
                     bool st_cancelar = true;
                     //Verificar se o NFCe esta vinculado a NFe
                     object obj = new CamadaDados.Faturamento.NotaFiscal.TCD_LanFaturamento().BuscarEscalar(
                         new TpBusca[]
                     {
                         new TpBusca()
                         {
                             vNM_Campo = "isnull(a.st_registro, 'A')",
                             vOperador = "<>",
                             vVL_Busca = "'C'"
                         },
                         new TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "exists",
                             vVL_Busca = "(select 1 from tb_fat_ecfvinculadoNF x " +
                                         "where x.cd_empresa = a.cd_empresa " +
                                         "and x.nr_lanctofiscal = a.nr_lanctofiscal " +
                                         "and x.cd_empresa = '" + lNFCe[0].Cd_empresa.Trim() + "' " +
                                         "and x.id_cupom = " + lNFCe[0].Id_nfcestr + ")"
                         }
                     }, "a.nr_notafiscal");
                     if (obj != null)
                     {
                         MessageBox.Show("NFCe Nº" + lNFCe[0].Id_nfcestr + " esta vinculado a NFe Nº" + obj.ToString() + ".\r\n" +
                                         "Para cancelar NFCe obrigatório antes cancelar NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         return;
                     }
                     if (lNFCe[0].Nr_protocolo.HasValue ||
                         lNFCe[0].Id_contingencia.HasValue)
                     {
                         string motivo = string.Empty;
                         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg = null;
                         CamadaDados.Faturamento.Cadastros.TList_Evento lEv  = null;
                         //Verificar evento
                         CamadaDados.Faturamento.PDV.TList_EventoNFCe lEvento =
                             CamadaNegocio.Faturamento.PDV.TCN_EventoNFCe.Buscar(lNFCe[0].Cd_empresa,
                                                                                 lNFCe[0].Id_nfcestr,
                                                                                 string.Empty,
                                                                                 null);
                         if (lEvento.Count.Equals(0))
                         {
                             if (string.IsNullOrEmpty(motivo))
                             {
                                 InputBox ibp = new InputBox();
                                 ibp.Text = "Motivo Cancelamento NFCe";
                                 motivo   = ibp.ShowDialog();
                                 if (string.IsNullOrEmpty(motivo))
                                 {
                                     MessageBox.Show("Obrigatorio informar motivo de cancelamento da NFCe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     return;
                                 }
                                 if (motivo.Trim().Length < 15)
                                 {
                                     MessageBox.Show("Motivo de cancelamento deve ter mais que 15 caracteres.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     return;
                                 }
                             }
                             //Buscar evento Cancelamento
                             if (lEv == null)
                             {
                                 lEv = CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CA", null);
                             }
                             if (lEv.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe evento de CANCELAMENTO NFE cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 return;
                             }
                             //Cancelar NFe Receita
                             CamadaDados.Faturamento.PDV.TRegistro_EventoNFCe rEvento = new CamadaDados.Faturamento.PDV.TRegistro_EventoNFCe();
                             rEvento.Cd_empresa        = lNFCe[0].Cd_empresa;
                             rEvento.Id_cupom          = lNFCe[0].Id_nfce;
                             rEvento.Chave_acesso_nfce = lNFCe[0].Chave_acesso;
                             rEvento.Nr_protocoloNFCe  = lNFCe[0].Nr_protocolo;
                             rEvento.Dt_evento         = CamadaDados.UtilData.Data_Servidor();
                             rEvento.Justificativa     = motivo;
                             rEvento.Cd_eventostr      = lEv[0].Cd_eventostr;
                             rEvento.Tp_evento         = lEv[0].Tp_evento;
                             rEvento.Ds_evento         = lEv[0].Ds_evento;
                             rEvento.St_registro       = "A";
                             CamadaNegocio.Faturamento.PDV.TCN_EventoNFCe.Gravar(rEvento, null);
                             lEvento.Add(rEvento);
                         }
                         if (!lEvento[0].St_registro.Trim().ToUpper().Equals("T") &&
                             lNFCe[0].Nr_protocolo.HasValue)
                         {
                             //Buscar CfgNfe para a empresa
                             if (lCfg == null)
                             {
                                 lCfg = CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNFCe[0].Cd_empresa,
                                                                                              string.Empty,
                                                                                              string.Empty,
                                                                                              null);
                             }
                             if (lCfg.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração para envio de evento para a empresa " + lNFCe[0].Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 msg = NFCe.EventoNFCe.TEventoNFCe.EnviarEvento(lEvento[0], lCfg[0]);
                                 if (!string.IsNullOrEmpty(msg))
                                 {
                                     MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                     "Aguarde um tempo e tente novamente.\r\n" +
                                                     "Erro: " + msg.Trim() + ".",
                                                     "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                     st_cancelar = false;
                                 }
                             }
                         }
                     }
                     if (st_cancelar)
                     {
                         if (!lNFCe[0].Nr_protocolo.HasValue &&
                             !lNFCe[0].Id_contingencia.HasValue)
                         {
                             //Buscar CfgNfe para a empresa
                             CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfCe =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNFCe[0].Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       null);
                             if (lCfgNfCe.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração NFC-e para a empresa " + lNFCe[0].Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 //Consultar Chave
                                 string ret = NFCe.ConsultaChave.TConsultaChave.ConsultaChave(lNFCe[0].Chave_acesso,
                                                                                              "1",
                                                                                              lCfgNfCe[0]);
                                 if (!string.IsNullOrEmpty(ret))
                                 {
                                     MessageBox.Show("Não é permtido excluir cupom com chave de acesso existente na receita.\r\n" + ret, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     return;
                                 }
                             }
                         }
                         CamadaNegocio.Faturamento.PDV.TCN_NFCe.CancelarCF(lNFCe[0], null);
                         MessageBox.Show("NFCe cancelada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         if (!lNFCe[0].Nr_protocolo.HasValue &&
                             !lNFCe[0].Id_contingencia.HasValue)
                         {
                             CamadaDados.Faturamento.Cadastros.TList_CadSequenciaNF lSeq =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Busca(lNFCe[0].Nr_serie,
                                                                                              lNFCe[0].Cd_modelo,
                                                                                              lNFCe[0].Cd_empresa,
                                                                                              null);
                             if (lSeq.Count > 0)
                             {
                                 if (lSeq[0].Seq_NotaFiscal.Equals(lNFCe[0].NR_NFCe))
                                 {
                                     lSeq[0].Seq_NotaFiscal--;
                                     CamadaNegocio.Faturamento.Cadastros.TCN_CadSequenciaNF.Gravar(lSeq[0], null);
                                     MessageBox.Show("Sequencia de numeração da serie voltada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 }
                                 else
                                 {
                                     //Buscar configuracao nfe
                                     CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfgNfe =
                                         CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNFCe[0].Cd_empresa,
                                                                                               string.Empty,
                                                                                               string.Empty,
                                                                                               null);
                                     if (lCfgNfe.Count > 0)
                                     {
                                         try
                                         {
                                             //Inutilizar numero nota
                                             NFCe.InutilizaNFCe.TInutilizaNFCe.InutilizarNFCe(lCfgNfe[0].Cd_uf_empresa,
                                                                                              lCfgNfe[0].Cnpj_empresa,
                                                                                              lNFCe[0].Nr_serie,
                                                                                              lNFCe[0].Cd_modelo,
                                                                                              DateTime.Now.Year.ToString(),
                                                                                              lNFCe[0].NR_NFCe.Value,
                                                                                              lNFCe[0].NR_NFCe.Value,
                                                                                              "NUMERO INUTILIZADO DEVIDO A ERRO NA EMISSAO DA NFCe",
                                                                                              lCfgNfe[0]);
                                             MessageBox.Show("Numero INUTILIZADO com sucesso na receita.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                         }
                                         catch (Exception ex)
                                         { MessageBox.Show("Erro: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                     }
                                 }
                             }
                         }
                         Close();
                     }
                 }
                 catch (Exception ex)
                 { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
             }
         }
     }
     else
     {
         CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento lNf =
             CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca(cd_empresa.Text,
                                                                           nr_notafiscal.Text,
                                                                           cbSerie.SelectedValue.ToString(),
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           decimal.Zero,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           true,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           "S",
                                                                           string.Empty,
                                                                           "A",
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           decimal.Zero,
                                                                           decimal.Zero,
                                                                           string.Empty,
                                                                           "'P'",
                                                                           string.Empty,
                                                                           false,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           1,
                                                                           string.Empty,
                                                                           null);
         if (lNf.Count > 0)
         {
             try
             {
                 //Verificar se NFe ja nao foi cancelada junto a receita
                 CamadaDados.Faturamento.NFE.TList_EventoNFe lEvento =
                     CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Buscar(string.Empty,
                                                                        lNf[0].Cd_empresa,
                                                                        lNf[0].Nr_lanctofiscal.ToString(),
                                                                        string.Empty,
                                                                        string.Empty,
                                                                        "CA",
                                                                        string.Empty,
                                                                        null);
                 if (lEvento.Count.Equals(0) ? false : lEvento[0].St_registro.Trim().ToUpper().Equals("T"))
                 {
                     //Cancelar somente NFe no Aliance.NET
                     CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lNf[0], null);
                     MessageBox.Show("NF-e cancelada com sucesso no sistema Aliance.NET", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     //Cancelar pedido
                     CamadaDados.Faturamento.Pedido.TList_Pedido lPed =
                         CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca(lNf[0].Cd_empresa,
                                                                           string.Empty,
                                                                           lNf[0].Nr_pedidostring,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           false,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           decimal.Zero,
                                                                           decimal.Zero,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           false,
                                                                           1,
                                                                           string.Empty,
                                                                           null);
                     CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(lPed[0], null);
                     //Cancelar venda rapida
                     CamadaDados.Faturamento.PDV.TList_VendaRapida lVenda =
                         new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                             new TpBusca[]
                     {
                         new TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "exists",
                             vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                         "where x.cd_empresa = a.cd_empresa " +
                                         "and x.id_vendarapida = a.id_cupom  " +
                                         "and x.nr_pedido = " + lNf[0].Nr_pedidostring + ")"
                         }
                     }, 0, string.Empty, string.Empty);
                     CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVenda, null);
                     Close();
                 }
                 else
                 {
                     if (lEvento.Count.Equals(0))
                     {
                         InputBox ibp = new InputBox();
                         ibp.Text = "Motivo Cancelamento Nota Fiscal";
                         string motivo = ibp.ShowDialog();
                         if (string.IsNullOrEmpty(motivo))
                         {
                             MessageBox.Show("Obrigatorio informar motivo de cancelamento da nota fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         if (motivo.Trim().Length < 15)
                         {
                             MessageBox.Show("Motivo de cancelamento deve ter mais que 15 caracteres.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         //Buscar evento Carta Correcao
                         CamadaDados.Faturamento.Cadastros.TList_Evento lEv =
                             CamadaNegocio.Faturamento.Cadastros.TCN_Evento.Buscar(string.Empty, string.Empty, "CA", null);
                         if (lEv.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe evento de CANCELAMENTO NFE cadastrado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             return;
                         }
                         //Cancelar NFe Receita
                         CamadaDados.Faturamento.NFE.TRegistro_EventoNFe rEvento = new CamadaDados.Faturamento.NFE.TRegistro_EventoNFe();
                         rEvento.Cd_empresa       = lNf[0].Cd_empresa;
                         rEvento.Nr_lanctofiscal  = lNf[0].Nr_lanctofiscal;
                         rEvento.Chave_acesso_nfe = lNf[0].Chave_acesso_nfe;
                         rEvento.Nr_protocoloNfe  = lNf[0].Nr_protocolo;
                         rEvento.Dt_evento        = CamadaDados.UtilData.Data_Servidor();
                         rEvento.Ds_evento        = motivo;
                         rEvento.Cd_eventostr     = lEv[0].Cd_eventostr;
                         rEvento.Descricao_evento = lEv[0].Ds_evento;
                         rEvento.Tp_evento        = lEv[0].Tp_evento;
                         rEvento.St_registro      = "A";
                         CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Gravar(rEvento, null);
                         if (MessageBox.Show("Evento de CANCELAMENTO gravado com sucesso.\r\n" +
                                             "Deseja enviar o mesmo para a receita?", "Pergunta",
                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
                             == DialogResult.Yes)
                         {
                             //Buscar CfgNfe para a empresa
                             CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                                 CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNf[0].Cd_empresa,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       null);
                             if (lCfg.Count.Equals(0))
                             {
                                 MessageBox.Show("Não existe configuração para envio de evento para a empresa " + lNf[0].Cd_empresa.Trim() + ".",
                                                 "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             }
                             else
                             {
                                 string msg = srvNFE.Evento.TEventoNFe.EnviarEvento(rEvento, lCfg[0]);
                                 if (!string.IsNullOrEmpty(msg))
                                 {
                                     MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                     "Aguarde um tempo e tente novamente.\r\n" +
                                                     "Erro: " + msg.Trim() + "\r\n" +
                                                     "Obs.: A NFe não será cancelada no sistema Aliance.NET enquanto a mesma não for cancelada junto a receita.",
                                                     "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                 }
                                 else
                                 {
                                     MessageBox.Show("Evento registrado e vinculado a NF-e.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lNf[0], null);
                                     MessageBox.Show("NF-e cancelada com sucesso no sistema Aliance.NET", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                     //Cancelar pedido
                                     CamadaDados.Faturamento.Pedido.TList_Pedido lPed =
                                         new CamadaDados.Faturamento.Pedido.TCD_Pedido().Select(
                                             new TpBusca[]
                                     {
                                         new TpBusca()
                                         {
                                             vNM_Campo = "a.nr_pedido",
                                             vOperador = "=",
                                             vVL_Busca = lNf[0].Nr_pedidostring
                                         },
                                         new TpBusca()
                                         {
                                             vNM_Campo = string.Empty,
                                             vOperador = "exists",
                                             vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                                         "where x.nr_pedido = a.nr_pedido)"
                                         }
                                     }, 1, string.Empty);
                                     if (lPed.Count > 0)
                                     {
                                         CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(lPed[0], null);
                                         //Cancelar venda rapida
                                         CamadaDados.Faturamento.PDV.TList_VendaRapida lVenda =
                                             new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                                                 new TpBusca[]
                                         {
                                             new TpBusca()
                                             {
                                                 vNM_Campo = string.Empty,
                                                 vOperador = "exists",
                                                 vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                                             "where x.cd_empresa = a.cd_empresa " +
                                                             "and x.id_vendarapida = a.id_cupom  " +
                                                             "and x.nr_pedido = " + lNf[0].Nr_pedidostring + ")"
                                             }
                                         }, 0, string.Empty, string.Empty);
                                         CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVenda, null);
                                     }
                                     //Cancelar venda rapida nota entrega futura
                                     CamadaDados.Faturamento.PDV.TList_VendaRapida lVendaEF =
                                         new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                                             new TpBusca[]
                                     {
                                         new TpBusca()
                                         {
                                             vNM_Campo = string.Empty,
                                             vOperador = "exists",
                                             vVL_Busca = "(select 1 from tb_pdv_vendarapida_x_entregafutura x " +
                                                         "where x.cd_empresa = a.cd_empresa " +
                                                         "and x.id_cupom = a.id_cupom " +
                                                         "and x.cd_empresa = '" + lNf[0].Cd_empresa.Trim() + "' " +
                                                         "and x.nr_lanctofiscal = " + lNf[0].Nr_lanctofiscalstr + ")"
                                         }
                                     }, 0, string.Empty, string.Empty);
                                     CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVendaEF, null);
                                     Close();
                                 }
                             }
                         }
                     }
                     else
                     {
                         //Buscar CfgNfe para a empresa
                         CamadaDados.Faturamento.Cadastros.TList_CfgNfe lCfg =
                             CamadaNegocio.Faturamento.Cadastros.TCN_CfgNfe.Buscar(lNf[0].Cd_empresa,
                                                                                   string.Empty,
                                                                                   string.Empty,
                                                                                   null);
                         if (lCfg.Count.Equals(0))
                         {
                             MessageBox.Show("Não existe configuração para envio de evento para a empresa " + lNf[0].Cd_empresa.Trim() + ".",
                                             "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                         else
                         {
                             string msg = srvNFE.Evento.TEventoNFe.EnviarEvento(lEvento[0], lCfg[0]);
                             if (!string.IsNullOrEmpty(msg))
                             {
                                 MessageBox.Show("Erro ao enviar evento CANCELAMENTO para a receita.\r\n" +
                                                 "Aguarde um tempo e tente novamente.\r\n" +
                                                 "Erro: " + msg.Trim() + "\r\n" +
                                                 "Obs.: A NFe não será cancelada no sistema Aliance.NET enquanto a mesma não for cancelada junto a receita.",
                                                 "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                             }
                             else
                             {
                                 MessageBox.Show("Evento registrado e vinculado a NF-e.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.CancelarFaturamento(lNf[0], null);
                                 MessageBox.Show("NF-e cancelada com sucesso no sistema Aliance.NET", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                 //Cancelar pedido
                                 CamadaDados.Faturamento.Pedido.TList_Pedido lPed =
                                     CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca(lNf[0].Cd_empresa,
                                                                                       string.Empty,
                                                                                       lNf[0].Nr_pedidostring,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       false,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       decimal.Zero,
                                                                                       decimal.Zero,
                                                                                       string.Empty,
                                                                                       string.Empty,
                                                                                       false,
                                                                                       1,
                                                                                       string.Empty,
                                                                                       null);
                                 CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(lPed[0], null);
                                 //Cancelar venda rapida
                                 CamadaDados.Faturamento.PDV.TList_VendaRapida lVenda =
                                     new CamadaDados.Faturamento.PDV.TCD_VendaRapida().Select(
                                         new TpBusca[]
                                 {
                                     new TpBusca()
                                     {
                                         vNM_Campo = string.Empty,
                                         vOperador = "exists",
                                         vVL_Busca = "(select 1 from tb_pdv_pedido_x_vendarapida x " +
                                                     "where x.cd_empresa = a.cd_empresa " +
                                                     "and x.id_vendarapida = a.id_cupom  " +
                                                     "and x.nr_pedido = " + lNf[0].Nr_pedidostring + ")"
                                     }
                                 }, 0, string.Empty, string.Empty);
                                 CamadaNegocio.Faturamento.PDV.TCN_VendaRapida.ExcluirVendaRapida(lVenda, null);
                                 Close();
                             }
                         }
                     }
                 }
             }
             catch (Exception ex)
             { MessageBox.Show("Erro: " + ex.Message.Trim()); }
         }
     }
 }