diff options
| author | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 15:29:41 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 15:29:41 +0000 |
| commit | 225aa1499e37faf9d38257caabbadc68d78b427e (patch) | |
| tree | 102bb7a40c58595348ae9d3c7076201759fe0720 /Decompiler/Gestor.Application.Servicos/AssinaturaServico.cs | |
| parent | 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff) | |
| download | gestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip | |
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.Servicos/AssinaturaServico.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.Servicos/AssinaturaServico.cs | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.Servicos/AssinaturaServico.cs b/Decompiler/Gestor.Application.Servicos/AssinaturaServico.cs new file mode 100644 index 0000000..3232c05 --- /dev/null +++ b/Decompiler/Gestor.Application.Servicos/AssinaturaServico.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Assinador.Infrastructure.UnitOfWork.Generic; +using Assinador.Infrastructure.UnitOfWork.Logic; +using Assinador.Model.Common; +using Assinador.Model.Domain; +using Assinador.Model.Generic; +using Assinador.Modelos; +using Assinador.Processos; +using Gestor.Application.Helpers; +using Gestor.Model.Domain.Common; +using Gestor.Model.Domain.Generic; +using Newtonsoft.Json; +using Sign.Modelos; + +namespace Gestor.Application.Servicos; + +public class AssinaturaServico +{ + internal async void SaveLog(AssinaturaLogAssinador keyValues, UnitOfWork unitOfWork) + { + if (keyValues == null) + { + return; + } + try + { + unitOfWork.AssinaturaLogRepository.SaveOrUpdate(keyValues); + ((GenericUnitOfWork)unitOfWork).Commit(); + } + catch (Exception) + { + } + } + + public static async Task<ParametrosAssinaturaAssinador> BuscarParametrosAssinatura(long id) + { + return await Task.Run((Func<ParametrosAssinaturaAssinador>)delegate + { + try + { + UnitOfWork read = InstanciaAssinador.Read; + try + { + return read.EmpresaRepository.FindByEmpresa(id); + } + finally + { + ((IDisposable)read)?.Dispose(); + } + } + catch (Exception) + { + return (ParametrosAssinaturaAssinador)null; + } + }); + } + + public async Task<ArquivoParaAssinaturaAssinador> Save(ArquivoParaAssinaturaAssinador arquivo) + { + return await Task.Run((Func<ArquivoParaAssinaturaAssinador>)delegate + { + //IL_003d: Unknown result type (might be due to invalid IL or missing references) + //IL_0042: Unknown result type (might be due to invalid IL or missing references) + //IL_0049: Unknown result type (might be due to invalid IL or missing references) + //IL_005a: Unknown result type (might be due to invalid IL or missing references) + //IL_0065: Unknown result type (might be due to invalid IL or missing references) + //IL_006c: Unknown result type (might be due to invalid IL or missing references) + //IL_0071: Unknown result type (might be due to invalid IL or missing references) + //IL_007d: Expected O, but got Unknown + //IL_0082: Unknown result type (might be due to invalid IL or missing references) + //IL_0092: Unknown result type (might be due to invalid IL or missing references) + //IL_00a3: Expected O, but got Unknown + try + { + UnitOfWork commited = InstanciaAssinador.Commited; + try + { + arquivo = ((((BaseModel)arquivo).Id == 0L) ? commited.ArquivoParaAssinaturaRepository.SaveOrUpdate(arquivo) : commited.ArquivoParaAssinaturaRepository.Merge(arquivo)); + AssinaturaLogAssinador keyValues = new AssinaturaLogAssinador + { + Acao = (Acao)0, + EntidadeId = ((BaseModel)arquivo).Id, + DataHora = Funcoes.GetNetworkTime(), + Descricao = JsonConvert.SerializeObject((object)arquivo, new JsonSerializerSettings + { + ReferenceLoopHandling = (ReferenceLoopHandling)1 + }), + UsuarioId = ((DomainBase)Recursos.Usuario).Id, + Versao = ApplicationHelper.Versao.ToString() + }; + SaveLog(keyValues, commited); + ((GenericUnitOfWork)commited).Commit(); + return arquivo; + } + finally + { + ((IDisposable)commited)?.Dispose(); + } + } + catch (Exception) + { + return (ArquivoParaAssinaturaAssinador)null; + } + }); + } + + public async Task<ArquivoParaAssinaturaAssinador> Assinar(ArquivoDigital arquivoDigital, ApoliceAssinador apolice) + { + AggerSigner val = new AggerSigner(AssinadorHelper.Remetente); + ArquivoAssinatura val2 = new ArquivoAssinatura + { + Bytes = arquivoDigital.Arquivo, + Nome = arquivoDigital.Descricao + arquivoDigital.Extensao.ToLower() + }; + List<Destinatario> destinatarios = new List<Destinatario> + { + new Destinatario + { + Email = apolice.Email, + Nome = apolice.Cliente, + Documento = apolice.Documento + } + }; + val2.Destinatarios = destinatarios; + ArquivoCriado val3 = await val.EnviarParaAssinatura(val2); + return new ArquivoParaAssinaturaAssinador + { + AssinaturaId = val3.Id, + Chave = val3.Chave, + DocumentoId = ((BaseModel)apolice).Id, + ClienteId = apolice.ClienteId, + IndiceId = apolice.ArquivoId, + UrlAssinatura = val3.Url, + Enviado = Funcoes.GetNetworkTime(), + UsuarioId = ((DomainBase)Recursos.Usuario).Id + }; + } + + public async Task<bool> VerificarAssinado(long id) + { + return await Task.Run(delegate + { + //IL_001c: Unknown result type (might be due to invalid IL or missing references) + //IL_0022: Invalid comparison between Unknown and I4 + //IL_0025: Unknown result type (might be due to invalid IL or missing references) + //IL_002b: Invalid comparison between Unknown and I4 + UnitOfWork read = InstanciaAssinador.Read; + try + { + ArquivoParaAssinaturaAssinador val = read.ArquivoParaAssinaturaRepository.FindByIndice(id); + return val != null && ((int)val.Status == 1 || (int)val.Status == 2); + } + finally + { + ((IDisposable)read)?.Dispose(); + } + }); + } + + public async Task<bool> VerificarEnviado(long id) + { + return await Task.Run(delegate + { + //IL_001c: Unknown result type (might be due to invalid IL or missing references) + //IL_0022: Invalid comparison between Unknown and I4 + UnitOfWork read = InstanciaAssinador.Read; + try + { + ArquivoParaAssinaturaAssinador val = read.ArquivoParaAssinaturaRepository.FindByIndice(id); + return val != null && (int)val.Status == 0; + } + finally + { + ((IDisposable)read)?.Dispose(); + } + }); + } + + public async Task<ArquivoParaAssinaturaAssinador> Reenviar(long indice) + { + AggerSigner val = new AggerSigner(AssinadorHelper.Remetente); + UnitOfWork unitOfWork = InstanciaAssinador.Commited; + try + { + ArquivoParaAssinaturaAssinador assinatura = unitOfWork.ArquivoParaAssinaturaRepository.FindByIndice(indice); + await val.ReenviarParaAssinatura(new List<int> { assinatura.AssinaturaId }, (string)null); + AssinaturaLogAssinador keyValues = new AssinaturaLogAssinador + { + Acao = (Acao)1, + EntidadeId = ((BaseModel)assinatura).Id, + DataHora = Funcoes.GetNetworkTime(), + Descricao = JsonConvert.SerializeObject((object)assinatura, new JsonSerializerSettings + { + ReferenceLoopHandling = (ReferenceLoopHandling)1 + }), + UsuarioId = ((DomainBase)Recursos.Usuario).Id, + Versao = ApplicationHelper.Versao.ToString() + }; + SaveLog(keyValues, unitOfWork); + return assinatura; + } + finally + { + ((IDisposable)unitOfWork)?.Dispose(); + } + } +} |