Ejemplo n.º 1
0
        public TRetConsReciNFe ConsultarLote(TConsReciNFe consRecibo, TRetEnviNFe retEnvio)
        {
            var ws = new C_WebService(Configuracao.PastaLog);
            var reciboNFe = ws.ConsultaRecLote2(consRecibo, retEnvio, Certificado);
            if (reciboNFe.protNFe == null) return reciboNFe;
            foreach (var item in reciboNFe.protNFe)
            {
                var nota = NotasFiscais.FirstOrDefault(n => n.NFe.infNFe.Id == "NFe" + item.infProt.chNFe);
                if (nota == null) continue;
                nota.protNFe = item;

                if (item.infProt.cStat == "100")
                {
                    SalvarNFe(ref nota);
                }
            }
            return reciboNFe;
        }
Ejemplo n.º 2
0
 public TRetConsReciNFe Enviar(int numeroLote)
 {
     var ws = new C_WebService(Configuracao.PastaLog);
     var retEnvio = ws.EnviaLote2(this, numeroLote);
     var consRecibo = new TConsReciNFe
     {
         nRec = retEnvio.infRec.nRec,
         tpAmb = retEnvio.tpAmb,
         versao = retEnvio.versao
     };
     System.Threading.Thread.Sleep(5000);
     try
     {
         return ConsultarLote(consRecibo, retEnvio);
     }
     catch (Exception)
     {
         System.Threading.Thread.Sleep(3000);
         return ConsultarLote(consRecibo, retEnvio);
     }
 }
Ejemplo n.º 3
0
        public TRetConsStatServ StatusServico()
        {
            if (!Directory.Exists(Configuracao.PastaLog))
            {
                Directory.CreateDirectory(Configuracao.PastaLog);
            }

            /*Comentei pois não estava sendo utilizado*/
            //var listaURL = default(C_WebService.ListaUrl);            
            //listaURL = WsUrls.BuscaURL(Configuracao.CodUF, Configuracao.Ambiente);

            /*
             * Mantive pos não sei se precisa executar, porem o retorno 
             * não esta sendo utilizado em lugar nenhum
             */
            WsUrls.BuscaURL(Configuracao.CodUF, Configuracao.Ambiente);
            var ws = new C_WebService(Configuracao.PastaLog);
            var consStatus = new TConsStatServ
            {
                tpAmb = Configuracao.Ambiente,
                versao = Configuracao.Versao,
                cUF = Configuracao.CodUF
            };

            try
            {
                return ws.ConsultaStatusWs(consStatus, Certificado);
            }
            catch (Exception)
            {
                throw new Exception("Não foi possível consultar o status do servidor da Receita Federal. Favor tentar novamente.");
            }
        }
Ejemplo n.º 4
0
 private TRetInutNFe Inutilizar(TInutNFe inutilizacao)
 {
     var ws = new C_WebService(Configuracao.PastaLog);
     return ws.InutilizaNumeracao(inutilizacao, Certificado, Configuracao.Ambiente);
 }
Ejemplo n.º 5
0
 public Cancelamento.TRetEnvEvento Cancelar(string justificativa, int numLote, int nSequencia, out Cancelamento.TProcEvento procCancelamento)
 {
     if (NotasFiscais.Count > 1)
     {
         throw new InvalidOperationException("Só é possível cancelar uma nota por vez.");
     }
     var nota = NotasFiscais[0];
     var ws = new C_WebService(Configuracao.PastaLog);
     justificativa = Funcoes.RemoverAcentos(justificativa.Trim());
     var retCanc = ws.CancelaNFe(nota, justificativa, Certificado, numLote, nSequencia, Configuracao.Ambiente, out procCancelamento);
     if (retCanc.retEvento[0].infEvento.cStat == "135")
     {
         SalvarEventoCancelamento(ref procCancelamento, nota.NFe.infNFe.ide.dEmi);
     }
     return retCanc;
 }
Ejemplo n.º 6
0
 public CartaCorrecao.TRetEnvEvento CartaCorrecao(string correcao, int numLote, int nSequencia, out CartaCorrecao.TProcEvento procCorrecao)
 {
     if (NotasFiscais.Count > 1)
     {
         throw new InvalidOperationException("Só é possível corrigir uma nota por vez.");
     }
     var nota = NotasFiscais[0];
     correcao = Funcoes.RemoverAcentos(correcao.Trim());
     var ws = new C_WebService(Configuracao.PastaLog);
     var retCorrecao = ws.CartaCorrecao(nota, correcao, Certificado, numLote, nSequencia, Configuracao.Ambiente, out procCorrecao);
     if (retCorrecao.retEvento[0].infEvento.cStat == "135")
     {
         SalvarEventoCorrecao(ref procCorrecao, nota.NFe.infNFe.ide.dEmi);
     }
     return retCorrecao;
 }
Ejemplo n.º 7
0
 public List<TRetConsSitNFe> ConsultaSituacao()
 {
     if (!Directory.Exists(Configuracao.PastaLog))
     {
         Directory.CreateDirectory(Configuracao.PastaLog);
     }
     var ws = new C_WebService(Configuracao.PastaLog);
     var retorno = ws.ConsultaSitNFe(this, Certificado);
     return retorno;
 }