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); }
public static TNFe GeraAssinatura(this TNFe nfe, X509Certificate2 certificate) { if (string.IsNullOrEmpty(nfe.infNFe.Id)) { nfe.CalculaChave(); } var nfeXml = new XmlDocument(); nfeXml.LoadXml(nfe.Serialize().LimpaNamespaces()); nfe.Signature = AssinadorXml.GeraAssinatura(nfeXml, "infNFe", certificate); return(nfe); }
public void ComecarAssinarEventos(int idEmpresa) { if (this._jobService.GetStatusJob(TipoJobEnum.Assinatura, idEmpresa) == StatusJobEnum.Executando) { throw new ExecucaoJobInvalidaException("Assinatura em andamento"); } this._jobService.ComecarJob(TipoJobEnum.Assinatura, idEmpresa); var evento = base.EventoRespository.GetEventoNaoAssinados(idEmpresa); while (evento != null && StatusJobEnum.Executando == this._jobService.GetStatusJob(TipoJobEnum.Assinatura, idEmpresa)) { evento.XmlEvento = AssinadorXml.Assinar(evento.XmlEvento); base.EventoRespository.Update(evento); evento = base.EventoRespository.GetEventoNaoAssinados(idEmpresa); } this._jobService.AtualizarStatusJob(TipoJobEnum.Assinatura, idEmpresa, StatusJobEnum.Concluido); }