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/Ferramentas/UsuarioServico.cs | 303 +++++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 Codemerx/Gestor.Application/Servicos/Ferramentas/UsuarioServico.cs (limited to 'Codemerx/Gestor.Application/Servicos/Ferramentas/UsuarioServico.cs') diff --git a/Codemerx/Gestor.Application/Servicos/Ferramentas/UsuarioServico.cs b/Codemerx/Gestor.Application/Servicos/Ferramentas/UsuarioServico.cs new file mode 100644 index 0000000..5b04623 --- /dev/null +++ b/Codemerx/Gestor.Application/Servicos/Ferramentas/UsuarioServico.cs @@ -0,0 +1,303 @@ +using Gestor.Application.Helpers; +using Gestor.Application.Servicos.Generic; +using Gestor.Common.Security; +using Gestor.Common.Validation; +using Gestor.Infrastructure.Mappers; +using Gestor.Infrastructure.Repository.Interface; +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; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; + +namespace Gestor.Application.Servicos.Ferramentas +{ + internal class UsuarioServico : BaseServico + { + public UsuarioServico() + { + } + + public async Task AddCentralSegurado(long id, bool update = true) + { + await Task.Run(() => { + using (UnitOfWork commited = Instancia.Commited) + { + commited.get_ClienteRepository().AddCentralSegurado(id, update); + } + }); + } + + public async Task BuscarLogin(string login) + { + int num = 3; + Usuario usuario2 = await Task.Run(() => { + Usuario usuario; + while (num > 0) + { + try + { + using (UnitOfWork read = Instancia.Read) + { + Empresa empresa = read.get_EmpresaRepository().FindBySerial(ApplicationHelper.NumeroSerial); + AuthSso result = base.VerificaUsuarioSso(login, empresa.get_Documento()).Result; + if (result == null || result.get_Code() == 401) + { + usuario = new Usuario(); + } + else + { + Usuario usuario1 = read.get_UsuarioRepository().FindUsuario(login); + usuario = (result.get_Code() == 404 ? usuario1 : CustomMap.FromUserSso(usuario1, result.get_Data().get_User())); + } + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 134, num, login, true); + continue; + } + return usuario; + } + return new Usuario(); + }); + return usuario2; + } + + public async Task> BuscarPermissaoAggilizador() + { + List permissaoAggilizadors2 = await Task.Run>(() => { + List permissaoAggilizadors; + try + { + using (UnitOfWork read = Instancia.Read) + { + permissaoAggilizadors = read.get_UsuarioRepository().PermissaoAggilizador(); + } + } + catch (Exception exception) + { + List permissaoAggilizadors1 = new List(); + PermissaoAggilizador permissaoAggilizador = new PermissaoAggilizador(); + permissaoAggilizador.set_Id((long)1); + permissaoAggilizador.set_Descricao("ADMINISTRADOR"); + permissaoAggilizadors1.Add(permissaoAggilizador); + PermissaoAggilizador permissaoAggilizador1 = new PermissaoAggilizador(); + permissaoAggilizador1.set_Id((long)2); + permissaoAggilizador1.set_Descricao("NORMAL"); + permissaoAggilizadors1.Add(permissaoAggilizador1); + PermissaoAggilizador permissaoAggilizador2 = new PermissaoAggilizador(); + permissaoAggilizador2.set_Id((long)3); + permissaoAggilizador2.set_Descricao("LIMITADO"); + permissaoAggilizadors1.Add(permissaoAggilizador2); + permissaoAggilizadors = permissaoAggilizadors1; + } + return permissaoAggilizadors; + }); + return permissaoAggilizadors2; + } + + internal async Task BuscarUsuarioPorId(long id) + { + int num = 3; + Usuario usuario1 = await Task.Run(() => { + Usuario usuario; + while (num > 0) + { + try + { + using (UnitOfWork read = Instancia.Read) + { + usuario = read.get_UsuarioRepository().FindById(id); + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 130, num, id, true); + continue; + } + return usuario; + } + return new Usuario(); + }); + return usuario1; + } + + public async Task BuscaUsuarioInicial(string usuario, string senha) + { + Usuario usuario2 = await Task.Run(() => { + Usuario usuario3; + using (UnitOfWork read = Instancia.Read) + { + Empresa empresa = read.get_EmpresaRepository().FindBySerial(ApplicationHelper.NumeroSerial); + string str = (new Token()).AggerEncrypt(senha); + AuthSso result = base.BuscaUsuarioSso(usuario, str, empresa.get_Documento()).Result; + if (result.get_Code() != 401) + { + Usuario usuario1 = read.get_UsuarioRepository().FindUsuario(usuario); + usuario3 = (result.get_Code() != 404 || usuario1 != null ? (result.get_Data() != null || usuario1 == null ? (usuario1 != null || result.get_Data() == null ? usuario1 : CustomMap.ToUsuario(result.get_Data().get_User(), empresa.get_Id())) : usuario1) : new Usuario()); + } + else + { + usuario3 = null; + } + } + return usuario3; + }); + return usuario2; + } + + public async Task Delete(Usuario usuario) + { + int num = 3; + bool flag1 = await Task.Run(() => { + bool flag; + while (num > 0) + { + List registroLogs = new List(); + try + { + using (UnitOfWork commited = Instancia.Commited) + { + registroLogs.Add(base.CreateLog(usuario.get_Id(), usuario.GetValorOriginal(), 16, 2)); + commited.get_UsuarioRepository().Delete(usuario.get_Id()); + base.SaveLog(registroLogs, commited); + commited.Commit(); + usuario.set_TokenSso(Recursos.Usuario.get_TokenSso()); + base.DeleteUsuarioSso(usuario, Recursos.Empresa.get_Documento()).Wait(); + flag = true; + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 240, num, usuario, true); + continue; + } + return flag; + } + return false; + }); + return flag1; + } + + public async Task Save(Usuario usuario) + { + int num = 3; + base.Sucesso = true; + Usuario usuario5 = usuario; + Usuario usuario6 = await Task.Run(() => { + Usuario usuario7; + long? nullable; + string tokenSso; + string documento; + long? nullable1; + bool flag; + List registroLogs = new List(); + while (num > 0) + { + usuario = usuario5; + try + { + using (UnitOfWork commited = Instancia.Commited) + { + Usuario usuario1 = Recursos.Usuario; + if (usuario1 != null) + { + tokenSso = usuario1.get_TokenSso(); + } + else + { + tokenSso = null; + } + string token = tokenSso; + Empresa empresa = Recursos.Empresa; + if (empresa != null) + { + documento = empresa.get_Documento(); + } + else + { + documento = null; + } + string str = documento; + if (ValidationHelper.IsNullOrEmpty(token)) + { + Empresa empresa1 = commited.get_EmpresaRepository().FindBySerial(ApplicationHelper.NumeroSerial); + string senha = usuario.get_Senha(); + if (ValidationHelper.IsNotNullOrEmpty(usuario.get_SenhaAnterior())) + { + if ((new Token()).AggerDecrypt(usuario.get_SenhaAnterior()).ToUpper().Contains("AGGER@")) + { + Usuario result = this.BuscarLogin(usuario.get_Login()).Result; + usuario.set_SenhaAnterior(result.get_Senha()); + } + senha = usuario.get_SenhaAnterior(); + } + AuthSso authSso = base.BuscaUsuarioSso(usuario.get_Login(), senha, empresa1.get_Documento()).Result; + if (authSso == null || authSso.get_Code() == 401) + { + this.Sucesso = false; + usuario7 = usuario5; + return usuario7; + } + else + { + token = authSso.get_Data().get_Token(); + str = empresa1.get_Documento(); + } + } + Usuario usuario2 = usuario; + if (!usuario.get_PermissaoAggilizador().HasValue) + { + Usuario usuario3 = usuario; + long? nullable2 = new long?((long)2); + nullable = nullable2; + usuario3.set_PermissaoAggilizador(nullable2); + nullable1 = nullable; + } + else + { + Usuario usuario4 = usuario; + long? permissaoAggilizador = usuario.get_PermissaoAggilizador(); + nullable = permissaoAggilizador; + usuario4.set_PermissaoAggilizador(permissaoAggilizador); + nullable1 = nullable; + } + usuario2.set_PermissaoAggilizador(nullable1); + flag = (usuario.get_Id() == 0 ? false : true); + if (flag) + { + registroLogs.Add(base.CreateLog(usuario.get_Id(), usuario, 16)); + } + usuario = (usuario.get_Id() == 0 ? commited.get_UsuarioRepository().SaveOrUpdate(usuario) : commited.get_UsuarioRepository().Merge(usuario)); + if (!flag) + { + registroLogs.Add(base.CreateLog(usuario.get_Id(), usuario.GetValorOriginal(), 16, 0)); + } + base.SaveLog(registroLogs, commited); + commited.Commit(); + usuario.set_TokenSso(token); + base.AddOrUpdateUsuarioSso(usuario, str, usuario.get_SsoId()).Wait(); + usuario7 = usuario; + } + } + catch (Exception exception) + { + num = base.Registrar(exception, 239, num, usuario, true); + continue; + } + return usuario7; + } + return usuario5; + }); + return usuario6; + } + } +} \ No newline at end of file -- cgit v1.2.3