Example #1
0
        private void BtnConsultaXml_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                #region Consulta Situação NFe pelo XML

                var arquivoXml = Funcoes.BuscarArquivoXml();
                var nfe        = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);
                var chave      = nfe.infNFe.Id.Substring(3);

                if (String.IsNullOrEmpty(chave))
                {
                    throw new Exception("A Chave da NFe não foi encontrada no arquivo!");
                }
                if (chave.Length != 44)
                {
                    throw new Exception("Chave deve conter 44 caracteres!");
                }

                var servicoNFe      = new ServicosNFe(_configuracoes.CfgServico);
                var retornoConsulta = servicoNFe.NfeConsultaProtocolo(chave);
                TrataRetorno(retornoConsulta);

                #endregion
            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
Example #2
0
        private void BtnConsultaChave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                #region Consulta Situação NFe

                var chave = Funcoes.InpuBox(this, "Consultar NFe pela Chave", "Chave da NFe:");
                if (String.IsNullOrEmpty(chave))
                {
                    throw new Exception("A Chave deve ser informada!");
                }
                if (chave.Length != 44)
                {
                    throw new Exception("Chave deve conter 44 caracteres!");
                }

                var servicoNFe      = new ServicosNFe(_configuracoes.CfgServico);
                var retornoConsulta = servicoNFe.NfeConsultaProtocolo(chave);
                TrataRetorno(retornoConsulta);

                #endregion
            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
Example #3
0
        public void GerarXmlNfe()
        {
            // EXERCICIO: trate os retornos da Sefaz e armazene o status da nota de acordo
            NFeSelected.StatusNota = 4;
            SalvarAtualizarNFe();


            infNFe InfNFe = new infNFe
            {
                versao = Auxiliar.VersaoServicoParaString(_configuracoes.CfgServico.VersaoNFeAutorizacao),
                ide    = GetIdentificacao(),
                emit   = GetEmitente(),
                transp = GetTransporte()
            };

            if (NFeSelected.NfeDestinatario.CpfCnpj != null)
            {
                InfNFe.dest = GetDestinatario();
            }

            for (var i = 0; i < 1; i++)
            {
                InfNFe.det.Add(GetDetalhe(i, InfNFe.emit.CRT));
            }

            InfNFe.total = GetTotal();

            _nfe        = new NFe.Classes.NFe();
            _nfe.infNFe = InfNFe;

            _nfe.Assina();
            string nomeArquivoXml = @"C:\T2Ti\NFe\XML\" + NFeSelected.ChaveAcesso + NFeSelected.DigitoChaveAcesso + ".xml";

            _nfe.SalvarArquivoXml(nomeArquivoXml);
            var servicoNFe   = new ServicosNFe(_configuracoes.CfgServico);
            var retornoEnvio = servicoNFe.NFeAutorizacao(1, IndicadorSincronizacao.Assincrono, new List <NFe.Classes.NFe> {
                _nfe
            });

            // consultar protocolo
            var retornoConsulta = servicoNFe.NfeConsultaProtocolo(NFeSelected.ChaveAcesso + NFeSelected.DigitoChaveAcesso);

            _protocolo = retornoConsulta.Retorno.protNFe.infProt.nProt;

            string mensagem = "";

            foreach (var atributos in Funcoes.LerPropriedades(retornoEnvio.Retorno))
            {
                mensagem += atributos.Key + " = " + atributos.Value + "\r";
            }
            MessageBox.Show(mensagem, "Informação do Sistema", MessageBoxButton.OK, MessageBoxImage.Information);
        }
Example #4
0
        public void Prot(string caminho)
        {
            try
            {
                var arquivoXml = caminho;
                var nfe        = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);
                var chave      = nfe.infNFe.Id.Substring(3);

                if (string.IsNullOrEmpty(chave))
                {
                    throw new Exception("A Chave da NFe não foi encontrada no arquivo!");
                }
                if (chave.Length != 44)
                {
                    throw new Exception("Chave deve conter 44 caracteres!");
                }

                var servicoNFe      = new ServicosNFe(_configuracoes.CfgServico);
                var retornoConsulta = servicoNFe.NfeConsultaProtocolo(chave);
                TrataRetorno(retornoConsulta);

                var nfeproc = new nfeProc
                {
                    NFe     = nfe,
                    protNFe = retornoConsulta.Retorno.protNFe,
                    versao  = retornoConsulta.Retorno.versao
                };
                var novoArquivo = _path + "\\Autorizados\\" + @"\" + nfeproc.protNFe.infProt.chNFe +
                                  "-procNfe.xml";
                FuncoesXml.ClasseParaArquivoXml(nfeproc, novoArquivo);
                //Funcoes.Mensagem("Arquivo salvo em " + novoArquivo, "Atenção", MessageBoxButton.OK);
                Impressora.ImprimirDanferE(novoArquivo);
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
Example #5
0
        private void BtnAdicionaNfeproc_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var arquivoXml = Funcoes.BuscarArquivoXml();
                var nfe        = new Classes.NFe().CarregarDeArquivoXml(arquivoXml);
                var chave      = nfe.infNFe.Id.Substring(3);

                if (String.IsNullOrEmpty(chave))
                {
                    throw new Exception("A Chave da NFe não foi encontrada no arquivo!");
                }
                if (chave.Length != 44)
                {
                    throw new Exception("Chave deve conter 44 caracteres!");
                }

                var servicoNFe      = new ServicosNFe(_configuracoes.CfgServico);
                var retornoConsulta = servicoNFe.NfeConsultaProtocolo(chave);
                TrataRetorno(retornoConsulta);

                var nfeproc = new nfeProc {
                    NFe = nfe, protNFe = retornoConsulta.Retorno.protNFe, versao = retornoConsulta.Retorno.versao
                };
                var novoArquivo = Path.GetDirectoryName(arquivoXml) + @"\" + nfeproc.protNFe.infProt.chNFe + "-procNfe.xml";
                FuncoesXml.ClasseParaArquivoXml(nfeproc, novoArquivo);
                Funcoes.Mensagem("Arquivo salvo em " + novoArquivo, "Atenção", MessageBoxButton.OK);
            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
        public RetornoNfeConsultaProtocolo ConsultarEPEC(string chave, ConfiguracaoServico cFgServico)
        {
            var servicoNFe = new ServicosNFe(cFgServico);

            return(servicoNFe.NfeConsultaProtocolo(chave));
        }