diff options
Diffstat (limited to 'Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.Servicos/RestricaoUsuarioServico.cs | 222 |
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>(); + }); + } +} |