summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.Servicos/PermissaoUsuarioServico.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Decompiler/Gestor.Application.Servicos/PermissaoUsuarioServico.cs')
-rw-r--r--Decompiler/Gestor.Application.Servicos/PermissaoUsuarioServico.cs160
1 files changed, 160 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.Servicos/PermissaoUsuarioServico.cs b/Decompiler/Gestor.Application.Servicos/PermissaoUsuarioServico.cs
new file mode 100644
index 0000000..6b7f0fe
--- /dev/null
+++ b/Decompiler/Gestor.Application.Servicos/PermissaoUsuarioServico.cs
@@ -0,0 +1,160 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Gestor.Application.Helpers;
+using Gestor.Application.Servicos.Generic;
+using Gestor.Infrastructure.UnitOfWork.Generic;
+using Gestor.Infrastructure.UnitOfWork.Logic;
+using Gestor.Model.API;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+
+namespace Gestor.Application.Servicos;
+
+public class PermissaoUsuarioServico : BaseServico
+{
+ public async Task<List<PermissaoUsuario>> SavePermiss(List<PermissaoUsuario> permissao, List<PermissaoUsuario> prev)
+ {
+ int tries = 3;
+ base.Sucesso = true;
+ List<PermissaoUsuario> permissaoOriginal = permissao;
+ List<PermissaoUsuario> prevOriginal = prev;
+ return await Task.Run(delegate
+ {
+ List<RegistroLog> logs = new List<RegistroLog>();
+ while (tries > 0)
+ {
+ permissao = permissaoOriginal;
+ prev = prevOriginal;
+ try
+ {
+ UnitOfWork unitOfWork = Instancia.Commited;
+ try
+ {
+ permissao.ForEach(delegate(PermissaoUsuario x)
+ {
+ PermissaoUsuario val = ((IEnumerable<PermissaoUsuario>)prev).FirstOrDefault((Func<PermissaoUsuario, bool>)((PermissaoUsuario y) => ((DomainBase)y).Id == ((DomainBase)x).Id));
+ if (val == null || val.Alterar != x.Alterar || val.Consultar != x.Consultar || val.Excluir != x.Excluir || val.Incluir != x.Incluir)
+ {
+ if (val == null)
+ {
+ logs.Add(CreateLog(((DomainBase)x.Usuario).Id, ((DomainBase)x).GetValorOriginal(), (TipoTela)43, (TipoAcao)0));
+ }
+ else
+ {
+ logs.Add(CreateLog(((DomainBase)x.Usuario).Id, ((DomainBase)x).Compare(((DomainBase)val).GetValorOriginal()), (TipoTela)43, (TipoAcao)1));
+ }
+ x = ((((DomainBase)x).Id == 0L) ? unitOfWork.PermissaoUsuarioRepository.SaveOrUpdate(x) : unitOfWork.PermissaoUsuarioRepository.Merge(x));
+ }
+ });
+ SaveLog(logs, unitOfWork);
+ ((GenericUnitOfWork)unitOfWork).Commit();
+ return permissao;
+ }
+ finally
+ {
+ if (unitOfWork != null)
+ {
+ ((IDisposable)unitOfWork).Dispose();
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)258, tries, new { permissao, prev });
+ }
+ }
+ return permissaoOriginal;
+ });
+ }
+
+ public async Task<List<PermissaoUsuario>> PermissUsuario(Usuario usuario)
+ {
+ int tries = 3;
+ return await Task.Run(delegate
+ {
+ while (tries > 0)
+ {
+ try
+ {
+ UnitOfWork read = Instancia.Read;
+ try
+ {
+ return read.PermissaoUsuarioRepository.FindByUsuario(((DomainBase)usuario).Id);
+ }
+ finally
+ {
+ ((IDisposable)read)?.Dispose();
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)84, tries, usuario);
+ }
+ }
+ return new List<PermissaoUsuario>();
+ });
+ }
+
+ public async Task<PermissaoUsuario> VerificarPermissao(Usuario usuario, TipoTela tela)
+ {
+ //IL_001e: Unknown result type (might be due to invalid IL or missing references)
+ //IL_001f: Unknown result type (might be due to invalid IL or missing references)
+ int tries = 3;
+ return await Task.Run((Func<PermissaoUsuario>)delegate
+ {
+ //IL_004a: Unknown result type (might be due to invalid IL or missing references)
+ //IL_001b: Unknown result type (might be due to invalid IL or missing references)
+ while (tries > 0)
+ {
+ try
+ {
+ UnitOfWork read = Instancia.Read;
+ try
+ {
+ return read.PermissaoUsuarioRepository.FindByPermissao(((DomainBase)usuario).Id, tela);
+ }
+ finally
+ {
+ ((IDisposable)read)?.Dispose();
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)85, tries, new { usuario, tela });
+ }
+ }
+ return (PermissaoUsuario)null;
+ });
+ }
+
+ public PermissaoUsuario BuscarPermissao(Usuario usuario, TipoTela tela)
+ {
+ //IL_0031: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0017: Unknown result type (might be due to invalid IL or missing references)
+ int num = 3;
+ while (num > 0)
+ {
+ try
+ {
+ UnitOfWork read = Instancia.Read;
+ try
+ {
+ return read.PermissaoUsuarioRepository.FindByPermissao(((DomainBase)usuario).Id, tela);
+ }
+ finally
+ {
+ ((IDisposable)read)?.Dispose();
+ }
+ }
+ catch (Exception e)
+ {
+ num = Registrar(e, (TipoErro)85, num, new { usuario, tela });
+ }
+ }
+ return null;
+ }
+}