From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Servicos/PermissaoArquivoDigitalServico.cs | 167 +++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 Codemerx/Gestor.Application/Servicos/PermissaoArquivoDigitalServico.cs (limited to 'Codemerx/Gestor.Application/Servicos/PermissaoArquivoDigitalServico.cs') diff --git a/Codemerx/Gestor.Application/Servicos/PermissaoArquivoDigitalServico.cs b/Codemerx/Gestor.Application/Servicos/PermissaoArquivoDigitalServico.cs new file mode 100644 index 0000000..525efc6 --- /dev/null +++ b/Codemerx/Gestor.Application/Servicos/PermissaoArquivoDigitalServico.cs @@ -0,0 +1,167 @@ +using Gestor.Application.Helpers; +using Gestor.Application.Servicos.Generic; +using Gestor.Infrastructure.Repository.Interface; +using Gestor.Infrastructure.UnitOfWork.Generic; +using Gestor.Infrastructure.UnitOfWork.Logic; +using Gestor.Model.Common; +using Gestor.Model.Domain.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; + +namespace Gestor.Application.Servicos +{ + public class PermissaoArquivoDigitalServico : BaseServico + { + public PermissaoArquivoDigitalServico() + { + } + + public PermissaoArquivoDigital BuscarPermissao(Usuario usuario, TipoArquivoDigital tela) + { + PermissaoArquivoDigital permissaoArquivoDigital; + int num = 3; + while (num > 0) + { + try + { + using (UnitOfWork read = Instancia.Read) + { + PermissaoArquivoDigital permissaoArquivoDigital1 = read.get_PermissaoArquivoDigitalRepository().FindByPermissao(usuario.get_Id(), tela); + if (permissaoArquivoDigital1 != null) + { + permissaoArquivoDigital = permissaoArquivoDigital1; + } + else + { + PermissaoArquivoDigital permissaoArquivoDigital2 = new PermissaoArquivoDigital(); + permissaoArquivoDigital2.set_Usuario(usuario); + permissaoArquivoDigital2.set_Tela(tela); + permissaoArquivoDigital2.set_Consultar(true); + permissaoArquivoDigital2.set_Excluir(true); + permissaoArquivoDigital2.set_Incluir(true); + permissaoArquivoDigital = permissaoArquivoDigital2; + } + } + } + catch (Exception exception1) + { + Exception exception = exception1; + num = base.Registrar(exception, 85, num, new { usuario = usuario, tela = tela }, true); + continue; + } + return permissaoArquivoDigital; + } + return null; + } + + public async Task> PermissArquivoDigital(Usuario usuario) + { + int num = 3; + List permissaoArquivoDigitals1 = await Task.Run>(() => { + List permissaoArquivoDigitals; + while (num > 0) + { + try + { + using (UnitOfWork read = Instancia.Read) + { + permissaoArquivoDigitals = read.get_PermissaoArquivoDigitalRepository().FindByUsuario(usuario.get_Id()); + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 84, num, usuario, true); + continue; + } + return permissaoArquivoDigitals; + } + return new List(); + }); + return permissaoArquivoDigitals1; + } + + public async Task> SavePermiss(List permissao, List prev) + { + int num = 3; + base.Sucesso = true; + List permissaoArquivoDigitals1 = permissao; + List permissaoArquivoDigitals2 = prev; + List permissaoArquivoDigitals3 = await Task.Run>(() => { + List permissaoArquivoDigitals; + while (num > 0) + { + permissao = permissaoArquivoDigitals1; + prev = permissaoArquivoDigitals2; + List diferencas = new List(); + List registroLogs = new List(); + try + { + using (UnitOfWork commited = Instancia.Commited) + { + permissao.ForEach((PermissaoArquivoDigital x) => { + PermissaoArquivoDigital permissaoArquivoDigital = x; + PermissaoArquivoDigital permissaoArquivoDigital1 = prev.FirstOrDefault((PermissaoArquivoDigital y) => y.get_Id() == permissaoArquivoDigital.get_Id()); + if (permissaoArquivoDigital1 != null && permissaoArquivoDigital1.get_Consultar() == permissaoArquivoDigital.get_Consultar() && permissaoArquivoDigital1.get_Excluir() == permissaoArquivoDigital.get_Excluir() && permissaoArquivoDigital1.get_Incluir() == permissaoArquivoDigital.get_Incluir()) + { + return; + } + if (permissaoArquivoDigital1 != null) + { + registroLogs.Add(base.CreateLog(permissaoArquivoDigital.get_Usuario().get_Id(), permissaoArquivoDigital.Compare(permissaoArquivoDigital1.GetValorOriginal()), 43, 1)); + } + else + { + registroLogs.Add(base.CreateLog(permissaoArquivoDigital.get_Usuario().get_Id(), permissaoArquivoDigital.GetValorOriginal(), 43, 0)); + } + permissaoArquivoDigital = (permissaoArquivoDigital.get_Id() == 0 ? commited.get_PermissaoArquivoDigitalRepository().SaveOrUpdate(permissaoArquivoDigital) : commited.get_PermissaoArquivoDigitalRepository().Merge(permissaoArquivoDigital)); + }); + base.SaveLog(registroLogs, commited); + commited.Commit(); + permissaoArquivoDigitals = permissao; + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 258, num, new { permissao = permissao, prev = prev }, true); + continue; + } + return permissaoArquivoDigitals; + } + return permissaoArquivoDigitals1; + }); + return permissaoArquivoDigitals3; + } + + public async Task VerificarPermissao(Usuario usuario, TipoArquivoDigital tela) + { + int num = 3; + PermissaoArquivoDigital permissaoArquivoDigital1 = await Task.Run(() => { + PermissaoArquivoDigital permissaoArquivoDigital; + while (num > 0) + { + try + { + using (UnitOfWork read = Instancia.Read) + { + permissaoArquivoDigital = read.get_PermissaoArquivoDigitalRepository().FindByPermissao(usuario.get_Id(), tela); + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 85, num, new { usuario = usuario, tela = tela }, true); + continue; + } + return permissaoArquivoDigital; + } + return null; + }); + return permissaoArquivoDigital1; + } + } +} \ No newline at end of file -- cgit v1.2.3