summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs')
-rw-r--r--Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs222
1 files changed, 222 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs b/Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs
new file mode 100644
index 0000000..1c1e7ee
--- /dev/null
+++ b/Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs
@@ -0,0 +1,222 @@
+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 RestricaoUsuarioServico : BaseServico
+{
+ public RestricaoUsuario BuscarRestricao(Usuario usuario, TipoRestricao restricao)
+ {
+ //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.RestricaoUsuarioRepository.FindRestricao(((DomainBase)usuario).Id, restricao);
+ }
+ finally
+ {
+ ((IDisposable)read)?.Dispose();
+ }
+ }
+ catch (Exception e)
+ {
+ num = Registrar(e, (TipoErro)89, num, new { usuario, restricao });
+ }
+ }
+ return null;
+ }
+
+ public async Task<List<RestricaoUsuario>> SaveRestri(List<RestricaoUsuario> restricoes, List<RestricaoUsuario> prev)
+ {
+ int tries = 3;
+ base.Sucesso = true;
+ List<RestricaoUsuario> restricoesOriginal = restricoes;
+ List<RestricaoUsuario> prevOriginal = prev;
+ return await Task.Run(delegate
+ {
+ while (tries > 0)
+ {
+ new List<Diferenca>();
+ List<RegistroLog> logs = new List<RegistroLog>();
+ restricoes = restricoesOriginal;
+ prev = prevOriginal;
+ try
+ {
+ UnitOfWork unitOfWork = Instancia.Commited;
+ try
+ {
+ restricoes.ForEach(delegate(RestricaoUsuario x)
+ {
+ RestricaoUsuario val = ((IEnumerable<RestricaoUsuario>)prev).FirstOrDefault((Func<RestricaoUsuario, bool>)((RestricaoUsuario y) => (((DomainBase)x).Id != 0L) ? (((DomainBase)y).Id == ((DomainBase)x).Id) : (y.Tipo == x.Tipo)));
+ if (val == null || val.Restricao != x.Restricao)
+ {
+ 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.RestricaoUsuarioRepository.SaveOrUpdate(x) : unitOfWork.RestricaoUsuarioRepository.Merge(x));
+ }
+ });
+ SaveLog(logs, unitOfWork);
+ ((GenericUnitOfWork)unitOfWork).Commit();
+ return restricoes;
+ }
+ finally
+ {
+ if (unitOfWork != null)
+ {
+ ((IDisposable)unitOfWork).Dispose();
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)261, tries, new { restricoes, prev });
+ }
+ }
+ return restricoesOriginal;
+ });
+ }
+
+ public async Task<List<RestricaoUsuarioCamposRelatorios>> SaveRestriCamposRelatorios(List<RestricaoUsuarioCamposRelatorios> restricoes, List<RestricaoUsuarioCamposRelatorios> prev)
+ {
+ int tries = 3;
+ base.Sucesso = true;
+ List<RestricaoUsuarioCamposRelatorios> restricoesOriginal = restricoes;
+ List<RestricaoUsuarioCamposRelatorios> prevOriginal = prev;
+ return await Task.Run(delegate
+ {
+ while (tries > 0)
+ {
+ new List<Diferenca>();
+ List<RegistroLog> logs = new List<RegistroLog>();
+ restricoes = restricoesOriginal;
+ prev = prevOriginal;
+ try
+ {
+ UnitOfWork unitOfWork = Instancia.Commited;
+ try
+ {
+ restricoes.ForEach(delegate(RestricaoUsuarioCamposRelatorios x)
+ {
+ RestricaoUsuarioCamposRelatorios val = ((IEnumerable<RestricaoUsuarioCamposRelatorios>)prev).FirstOrDefault((Func<RestricaoUsuarioCamposRelatorios, bool>)delegate(RestricaoUsuarioCamposRelatorios y)
+ {
+ //IL_0035: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0040: Unknown result type (might be due to invalid IL or missing references)
+ if (((DomainBase)y).Id != 0L)
+ {
+ return ((DomainBase)y).Id == ((DomainBase)x).Id;
+ }
+ return y.Campo == x.Campo && y.Relatorio == x.Relatorio;
+ });
+ if (val == null || val.Restricao != x.Restricao)
+ {
+ 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.RestricaoUsuarioCamposRelatoriosRepository.SaveOrUpdate(x) : unitOfWork.RestricaoUsuarioCamposRelatoriosRepository.Merge(x));
+ }
+ });
+ SaveLog(logs, unitOfWork);
+ ((GenericUnitOfWork)unitOfWork).Commit();
+ return restricoes;
+ }
+ finally
+ {
+ if (unitOfWork != null)
+ {
+ ((IDisposable)unitOfWork).Dispose();
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)261, tries, new { restricoes, prev });
+ }
+ }
+ return restricoesOriginal;
+ });
+ }
+
+ public async Task<List<RestricaoUsuario>> BuscarRestricoes(long id)
+ {
+ int tries = 3;
+ return await Task.Run(delegate
+ {
+ while (tries > 0)
+ {
+ try
+ {
+ UnitOfWork read = Instancia.Read;
+ try
+ {
+ return read.RestricaoUsuarioRepository.FindByUsuario(id);
+ }
+ finally
+ {
+ ((IDisposable)read)?.Dispose();
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)90, tries, id);
+ }
+ }
+ return new List<RestricaoUsuario>();
+ });
+ }
+
+ public async Task<List<RestricaoUsuarioCamposRelatorios>> BuscarRestricoesCamposRelatorios(long id)
+ {
+ int tries = 3;
+ return await Task.Run(delegate
+ {
+ while (tries > 0)
+ {
+ try
+ {
+ UnitOfWork read = Instancia.Read;
+ try
+ {
+ return read.RestricaoUsuarioCamposRelatoriosRepository.FindByUsuario(id);
+ }
+ finally
+ {
+ ((IDisposable)read)?.Dispose();
+ }
+ }
+ catch (Exception e)
+ {
+ tries = Registrar(e, (TipoErro)90, tries, id);
+ }
+ }
+ return new List<RestricaoUsuarioCamposRelatorios>();
+ });
+ }
+}