예제 #1
0
        public static EventoCancelamento CalculaId(this EventoCancelamento cancelamento)
        {
            var tpEvento = ((int)cancelamento.infEvento.tpEvento).ToString();

            cancelamento.infEvento.Id = "ID" + tpEvento + cancelamento.infEvento.chNFe + "0" + cancelamento.infEvento.nSeqEvento;
            return(cancelamento);
        }
예제 #2
0
        public static EventoCancelamento Assina(this EventoCancelamento cancelamento, X509Certificate2 certificate)
        {
            cancelamento.CalculaId();
            var xml = new XmlDocument();

            xml.LoadXml(cancelamento.Serialize().LimpaNamespaces());
            cancelamento.Signature = AssinadorXml.GeraAssinatura(xml, "infEvento", certificate);

            return(cancelamento);
        }
예제 #3
0
        public void EventoCancelarCTe()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoes(config);

            var caminho = BuscarArquivoXml();

            // aqui estou fazendo um load no lote de ct-e
            var cte = enviCTe.LoadXmlArquivo(caminho).CTe[0];

            // aqui estou fazendo um load no xml de envio de um ct-e
            //var cte = CteEletronico.LoadXmlArquivo(caminho);

            var sequenciaEvento = int.Parse(InputBoxTuche("Sequencia Evento"));
            var protocolo       = InputBoxTuche("Protocolo");
            var justificativa   = InputBoxTuche("Justificativa mínimo 15 digitos vlw");

            var servico = new EventoCancelamento(cte, sequenciaEvento, protocolo, justificativa);
            var retorno = servico.Cancelar();

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
예제 #4
0
        private static async Task EventoCancelarCTe()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();
            //CarregarConfiguracoes(config);
            var configuracaoServico = MontarConfiguracoes(config);

            var caminho = BuscarArquivoXml();

            // aqui estou fazendo um load no lote de ct-e
            var cte = enviCTe.LoadXmlArquivo(caminho).CTe[0];

            // aqui estou fazendo um load no xml de envio de um ct-e
            //var cte = CteEletronico.LoadXmlArquivo(caminho);

            var sequenciaEvento = int.Parse(RequisitarInput("Sequencia Evento"));
            var protocolo       = RequisitarInput("Protocolo");
            var justificativa   = RequisitarInput("Justificativa mínimo 15 digitos vlw");

            var servico = new EventoCancelamento(cte, sequenciaEvento, protocolo, justificativa);
            var retorno = await servico.CancelarAsync(configuracaoServico);

            OnSucessoSync(new RetornoEEnvio(retorno));
        }