Example #1
0
        public static eventoCTe CriaEvento(CTeTipoEvento cTeTipoEvento, int sequenciaEvento, string chave, string cnpj, EventoContainer container)
        {
            var configuracaoServico = ConfiguracaoServico.Instancia;

            var id = new StringBuilder("ID");

            id.Append((int)cTeTipoEvento);
            id.Append(chave);
            id.Append(sequenciaEvento.ToString("D2"));

            return(new eventoCTe
            {
                versao = configuracaoServico.VersaoLayout,
                infEvento = new infEventoEnv
                {
                    tpAmb = configuracaoServico.tpAmb,
                    CNPJ = cnpj,
                    cOrgao = configuracaoServico.cUF,
                    chCTe = chave,
                    dhEvento = DateTime.Now,
                    nSeqEvento = sequenciaEvento,
                    tpEvento = cTeTipoEvento,
                    detEvento = new detEvento
                    {
                        versaoEvento = configuracaoServico.VersaoLayout,
                        EventoContainer = container
                    },
                    Id = id.ToString()
                }
            });
        }
        /// <summary>
        /// Salvar o arquivo xml do Evento no disco de acordo com as propriedades.
        /// </summary>
        /// <param name="conteudoArquivo"></param>
        /// <param name="nomeArquivo"></param>
        /// <param name="evento"></param>
        /// <param name="data"></param>
        /// <param name="cnpj"></param>
        /// <exception cref="ArgumentOutOfRangeException"></exception>
        protected void GravarEvento(string conteudoArquivo, string nomeArquivo, CTeTipoEvento evento, DateTime data, string cnpj)
        {
            if (!Configuracoes.Arquivos.Salvar)
            {
                return;
            }

            conteudoArquivo = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + conteudoArquivo.RemoverDeclaracaoXml();
            nomeArquivo     = Path.Combine(Configuracoes.Arquivos.GetPathEvento(evento, cnpj, data), nomeArquivo);
            File.WriteAllText(nomeArquivo, conteudoArquivo, Encoding.UTF8);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="tipo"></param>
        /// <param name="cnpj"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public string GetPathEvento(CTeTipoEvento tipo, string cnpj = "", DateTime?data = null)
        {
            var result = GetPath(PathEvento, "Evento", cnpj, data);

            if (AdicionarLiteral)
            {
                result = Path.Combine(result, tipo.GetDescription());
            }

            if (!Directory.Exists(result))
            {
                Directory.CreateDirectory(result);
            }

            return(result);
        }
Example #4
0
        public async Task <retEventoCTe> ExecutarAsync(CTeTipoEvento cTeTipoEvento, int sequenciaEvento, string chave, string cnpj, EventoContainer container, ConfiguracaoServico configuracaoServico = null)
        {
            var evento = FactoryEvento.CriaEvento(cTeTipoEvento, sequenciaEvento, chave, cnpj, container, configuracaoServico);

            evento.Assina(configuracaoServico);
            evento.ValidarSchema(configuracaoServico);
            evento.SalvarXmlEmDisco(configuracaoServico);

            var webService = WsdlFactory.CriaWsdlCteEvento(configuracaoServico);
            var retornoXml = await webService.cteRecepcaoEventoAsync(evento.CriaXmlRequestWs());

            var retorno = retEventoCTe.LoadXml(retornoXml.OuterXml, evento);

            retorno.SalvarXmlEmDisco(configuracaoServico);

            return(retorno);
        }
        public retEventoCTe Executar(CTeTipoEvento cTeTipoEvento, int sequenciaEvento, string chave, string cnpj, EventoContainer container)
        {
            var evento = FactoryEvento.CriaEvento(cTeTipoEvento, sequenciaEvento, chave, cnpj, container);

            evento.Assina();
            evento.ValidarSchema();
            evento.SalvarXmlEmDisco();

            var webService = WsdlFactory.CriaWsdlCteEvento();
            var retornoXml = webService.cteRecepcaoEvento(evento.CriaXmlRequestWs());

            var retorno = retEventoCTe.LoadXml(retornoXml.OuterXml, evento);

            retorno.SalvarXmlEmDisco();

            return(retorno);
        }
Example #6
0
 //Vou manter para evitar quebra de código pois a classe e o metodo são publicos
 public static eventoCTe CriaEvento(CTeEletronico cte, CTeTipoEvento cTeTipoEvento, int sequenciaEvento, EventoContainer container)
 {
     return(CriaEvento(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container));
 }
Example #7
0
 //Vou manter para evitar quebra de código pois a classe e o metodo são publicos
 public static eventoCTe CriaEvento(CTeEletronico cte, CTeTipoEvento cTeTipoEvento, int sequenciaEvento, EventoContainer container, ConfiguracaoServico configuracaoServico = null)
 {
     return(CriaEvento(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container, configuracaoServico));
 }
Example #8
0
 public async Task <retEventoCTe> ExecutarAsync(CteEletronico cte, int sequenciaEvento, EventoContainer container, CTeTipoEvento cTeTipoEvento, ConfiguracaoServico configuracaoServico = null)
 {
     return(await ExecutarAsync(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container, configuracaoServico));
 }
Example #9
0
 public retEventoCTe Executar(CteEletronico cte, int sequenciaEvento, EventoContainer container, CTeTipoEvento cTeTipoEvento, ConfiguracaoServico configuracaoServico = null)
 {
     return(Executar(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container, configuracaoServico));
 }
 public retEventoCTe Executar(CteEletronico cte, int sequenciaEvento, EventoContainer container, CTeTipoEvento cTeTipoEvento)
 {
     return(Executar(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container));
 }