/// <summary> /// Executar o serviço /// </summary> public override void Executar() { new AssinaturaDigital().Assinar(ConteudoXML, Configuracoes.TagAssinatura, Configuracoes.TagAtributoID, Configuracoes.CertificadoDigital, AlgorithmType.Sha1, true, "", "Id"); InutNFe = InutNFe.LerXML <InutNFe>(ConteudoXML); base.Executar(); }
/// <summary> /// Definir o valor de algumas das propriedades do objeto "Configuracoes" /// </summary> protected override void DefinirConfiguracao() { InutNFe xml = InutNFe; if (!Configuracoes.Definida) { Configuracoes.Servico = Servico.NFeInutilizacao; Configuracoes.CodigoUF = (int)xml.InfInut.CUF; Configuracoes.TipoAmbiente = xml.InfInut.TpAmb; Configuracoes.Modelo = xml.InfInut.Mod; Configuracoes.TipoEmissao = TipoEmissao.Normal; //Inutilização só funciona no tipo de emissão Normal, ou seja, não tem inutilização em SVC-AN ou SVC-RS Configuracoes.SchemaVersao = xml.Versao; base.DefinirConfiguracao(); } }
/// <summary> /// Definir o valor de algumas das propriedades do objeto "Configuracoes" /// </summary> protected override void DefinirConfiguracao() { InutNFe xml = new InutNFe(); xml.Ler(ConteudoXML); if (!Configuracoes.Definida) { Configuracoes.cUF = xml.infInut.cUF; Configuracoes.tpAmb = xml.infInut.tpAmb; Configuracoes.mod = xml.infInut.mod; Configuracoes.tpEmis = 1; //Inutilização só funciona no tipo de emissão Normal, ou seja, não tem inutilização em SVC-AN ou SVC-RS Configuracoes.SchemaVersao = xml.versao; base.DefinirConfiguracao(); } }
async void AdicionarInutilizacao(object sender, RoutedEventArgs e) { var caixa = new InfoInutilizacao(); if (await caixa.ShowAsync() == ContentDialogResult.Primary) { var envio = new InutNFe(new InfInut(caixa.Homologacao, caixa.Serie, caixa.InicioNum, caixa.FimNum, caixa.Justificativa)); var uf = DefinicoesTemporarias.EmitenteAtivo.SiglaUF; var gerenciador = new GerenciadorGeral <InutNFe, RetInutNFe>(uf, Operacoes.Inutilizacao, caixa.Homologacao, isNFCe); AssinaFacil assinador = new AssinaFacil(); Progresso progresso = null; progresso = new Progresso(async x => { var cert = (X509Certificate2)x; var resultAssina = await envio.PrepararEvento(assinador, cert); if (!resultAssina.Item1) { return(resultAssina); } await progresso.Update(1); var resultado = await gerenciador.EnviarAsync(envio); var sucesso = resultado.Info.StatusResposta == 102; if (sucesso) { Concluir(resultado, caixa.Homologacao); await progresso.Update(6); } return(sucesso, resultado.Info.DescricaoResposta); }, assinador.CertificadosDisponiveis, "Subject", "Assinar documentos para envio", "Preparar conexão", "Obter conteúdo da requisição", "Enviar requisição", "Processar resposta", "Salvar retorno no banco de dados"); gerenciador.ProgressChanged += async(x, y) => await progresso.Update(y + 1); await progresso.ShowAsync(); } }
public Inutilizacao(InutNFe inutNFe, Configuracao configuracao) : this(inutNFe.GerarXML(), configuracao) { InutNFe = inutNFe; }