diff --git a/Microservicios/MsUsuarios/Context/USUARIO.cs b/Microservicios/MsUsuarios/Context/USUARIO.cs index 653c7c2..c0ec80b 100644 --- a/Microservicios/MsUsuarios/Context/USUARIO.cs +++ b/Microservicios/MsUsuarios/Context/USUARIO.cs @@ -21,9 +21,14 @@ namespace MSAdminUsuarios.Context public string? TX_PASSWORD_USUMS { get; set; } public int? NU_TIPODOC_USUMS { get; set; } public int? NU_PK_USUMS { get; set; } - public string? CL_FIRMA_USUMS { get; set; } - + public int? BL_PERTENCEIPS_USUMS { get; set; } + public string? TX_NOMBRE_PVD { get; set; } + public int? BL_VIENELDAP_USUMS { get; set; } + public int? NU_GRUPO_USUMS { get; set; } + public int? NU_CARGO_USUMS { get; set; } + public int? NU_MODALIDADCTT_USUMS { get; set; } + public string? TX_SEDES_USUMS { get; set; } } } diff --git a/Microservicios/MsUsuarios/Controllers/AuthController.cs b/Microservicios/MsUsuarios/Controllers/AuthController.cs index fef091e..fe706e0 100644 --- a/Microservicios/MsUsuarios/Controllers/AuthController.cs +++ b/Microservicios/MsUsuarios/Controllers/AuthController.cs @@ -156,9 +156,8 @@ namespace MSAdminUsuarios.Controllers } } - - [AcceptVerbs("GET")] - string Token(USUARIO user) + [HttpPost("pruebaUsuario")] + public string Token(USUARIO user) { List perfilesPorUsuario = (from perf in _context.PERFILESPORUSUARIOs where perf.TX_FKDOC_USUMS == user.TX_PKDOC_USUMS && perf.NU_FK_PFL != null && perf.BL_ESTADO_PFLXUSU == 1 @@ -216,7 +215,8 @@ namespace MSAdminUsuarios.Controllers new Claim("nombres", nombres), new Claim("apellidos", apellidos), new Claim("tipo_doc", tipo_doc.ToString()), - new Claim("pk", user.NU_PK_USUMS.ToString()) + new Claim("pk", user.NU_PK_USUMS.ToString()), + new Claim("sedes", user.TX_SEDES_USUMS == null ? "" : user.TX_SEDES_USUMS) }); diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index 38590e5..94d60d2 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -22,31 +22,6 @@ namespace MSAdminUsuarios.Controllers _context = context; } - [HttpPost] - [Route("integrante-user")] - public async Task DoAction() - { - // Get the "X-Specific-Header" header from the request - var specificHeader = Request.Headers.FirstOrDefault(h => h.Key == "Potato").Value; - var specificHeader2 = Request.Headers.FirstOrDefault(h => h.Key == "Potato2").Value; - - if (String.IsNullOrEmpty(specificHeader)) - { - return BadRequest("null"); - } - - if (!specificHeader.Contains("true")) - { - // Return an error response - return BadRequest("Invalid header"); - } - else - { - // Perform the action - return Ok("Action performed successfully"); - } - } - [HttpPost("UserBene")] public async Task PostUserBeneficiario(string TX_IDENTIFICACION_AFIL) { @@ -113,11 +88,11 @@ namespace MSAdminUsuarios.Controllers { try { - List consulta = new List(); + List consulta = new List(); consulta = (from dm in _context.USUARIOSMs where dm.NU_ESTADO_USUMS >= 0 - select dm).ToList(); + select new UsuarioDTO(dm)).ToList(); return Ok(consulta); } @@ -127,6 +102,66 @@ namespace MSAdminUsuarios.Controllers } } + /** + * identificacion public string TX_PKDOC_USUMS { get; set; } = null!; + * pk public int? NU_PK_USUMS { get; set; } + */ + [HttpGet("/Usuario")] + public async Task GetUsuario(int? clave, string? documento) + { + ErrorModel _errorModel = new ErrorModel(); + try + { + if (clave == null && documento == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Sin datos de busqueda."); + return Conflict(_errorModel); + } + if (clave != null) { + var consulta = await _context.USUARIOSMs.FirstOrDefaultAsync(u => u.NU_PK_USUMS == clave); + if (consulta != null) return Ok(consulta); + } + if (documento != null) { + + var consulta = await _context.USUARIOSMs.FirstOrDefaultAsync(u => u.TX_PKDOC_USUMS == documento); + if (consulta != null) return Ok(consulta); + } + _errorModel.error = true; + _errorModel.cuerpo.Add("No se encontró coincidencia."); + return Conflict(_errorModel); + } + catch (Exception ex) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Problema con la base de datos."); + return BadRequest(_errorModel); + } + } + + + /*[HttpGet("ConsultaFirma")] + public async Task GetFirma(string TX_IDENTIFICACION_AFIL) + { + ErrorModel _errorModel = new ErrorModel(); + try + { + USUARIO usuario = await _context.USUARIOSMs.OrderBy(u => u.NU_PK_USUMS).FirstOrDefaultAsync(u => u.TX_PKDOC_USUMS == TX_IDENTIFICACION_AFIL); + + if (usuario == null) + { + _errorModel.error = true; + _errorModel.cuerpo.Add("Usuario no existe"); + return Conflict(_errorModel); + } + + return Ok(usuario.CL_FIRMA_USUMS); + } + catch (Exception ex) + { + return BadRequest(ex); + } + }*/ [HttpPost] public async Task GuardarUsuarios(USUARIO usuario) @@ -234,13 +269,22 @@ namespace MSAdminUsuarios.Controllers existe.TX_TELEFONO_USUMS = editado.TX_TELEFONO_USUMS; existe.TX_CORREO_USUMS = editado.TX_CORREO_USUMS; existe.TX_DIRECCION_USUMS = editado.TX_DIRECCION_USUMS; + existe.BL_PERTENCEIPS_USUMS = editado.BL_PERTENCEIPS_USUMS; + existe.TX_NOMBRE_PVD = editado.TX_NOMBRE_PVD; + existe.BL_VIENELDAP_USUMS = editado.BL_VIENELDAP_USUMS; + existe.NU_GRUPO_USUMS = editado.NU_GRUPO_USUMS; + existe.NU_CARGO_USUMS = editado.NU_CARGO_USUMS; + existe.NU_MODALIDADCTT_USUMS = editado.NU_MODALIDADCTT_USUMS; + existe.TX_SEDES_USUMS = editado.TX_SEDES_USUMS; + ErrorModel errorPFLxUSUMS = await ActualizarRelaciones(existe.TX_PKDOC_USUMS, editado.TX_PKDOC_USUMS); if (errorPFLxUSUMS.error == true) { _errorModel.listaErrores.Add(errorPFLxUSUMS.cuerpo[0]); - return Conflict(_errorModel); + //return Conflict(_errorModel); + throw new Exception(); } _errorModel.listaErrores.Add(errorPFLxUSUMS.cuerpo[0]); diff --git a/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs b/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs index 5412327..4be874f 100644 --- a/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs +++ b/Microservicios/MsUsuarios/Dto/UsuarioDTO.cs @@ -1,7 +1,21 @@ -namespace MSAdminUsuarios.Dto +using System.Reflection; +using MSAdminUsuarios.Context; + +namespace MSAdminUsuarios.Dto { public class UsuarioDTO { + public UsuarioDTO(USUARIO usuario) + { + foreach (PropertyInfo prop in usuario.GetType().GetProperties()) + { + var valor = prop.GetValue(usuario, null); + string key = prop.Name; + if (valor == null) continue; + + this.GetType().GetProperty(key)?.SetValue(this, valor); + } + } public string TX_PKDOC_USUMS { get; set; } = null!; public string? TX_LOGINNAME_USUMS { get; set; } public string? TX_PRIMERNOM_USUMS { get; set; } @@ -12,9 +26,16 @@ public string? TX_TELEFONO_USUMS { get; set; } public string? TX_CELULAR_USUMS { get; set; } public string? TX_CORREO_USUMS { get; set; } - public int? NU_ESTADO_USUMS { get; set; } = 1; + public int? NU_ESTADO_USUMS { get; set; } public string? TX_PASSWORD_USUMS { get; set; } public int? NU_TIPODOC_USUMS { get; set; } public int? NU_PK_USUMS { get; set; } + public int? BL_PERTENCEIPS_USUMS { get; set; } + public string? TX_NOMBRE_PVD { get; set; } + public int? BL_VIENELDAP_USUMS { get; set; } + public int? NU_GRUPO_USUMS { get; set; } + public int? NU_CARGO_USUMS { get; set; } + public int? NU_MODALIDADCTT_USUMS { get; set; } + public string? TX_SEDES_USUMS { get; set; } } } diff --git a/Microservicios/MsUsuarios/Program.cs b/Microservicios/MsUsuarios/Program.cs index f4d04ae..aa414b1 100644 --- a/Microservicios/MsUsuarios/Program.cs +++ b/Microservicios/MsUsuarios/Program.cs @@ -12,7 +12,7 @@ builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); // Cadena de Conexion a Bases de Datos -//var connectionString = builder.Configuration.GetConnectionString("DBPrueba"); +// var connectionString = builder.Configuration.GetConnectionString("DBPrueba"); // var connectionString = builder.Configuration.GetConnectionString("DBProd"); var connectionString = builder.Configuration.GetConnectionString("DBUnisalud");