añadido nuevo crear grupo

This commit is contained in:
2025-06-21 01:33:23 -03:00
parent f6dc641508
commit 98dbc8c865
5 changed files with 258 additions and 0 deletions

View File

@@ -126,4 +126,52 @@ public class UsuarioController : ControllerBase
return Ok(new { token = cli.Token });
}
public record Crearusuario(long Dni, string Nombre, string Apellido, string Domicilio, string Celular,
string Email, string Contraseña, string? EmailRecuperacion, List<int> grupos);
[HttpPost("api/crearusuario")]
public IActionResult CrearUsuario([FromHeader(Name ="Auth")] string Auth, [FromBody] Crearusuario cu)
{
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 19);
if (!ret) return BadRequest(new { message = "No tienes permisos para Crear un usuario" });
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest(new { message = "No hay un usuario por ese token" });
string rett = "";
if (cu.Dni <= 0)
rett += "No puede haber un documento con numero menor o igual a 0";
if (cu.Apellido.Length > 20)
rett += "Apellido excede los 20 caracteres. ";
if (cu.Nombre.Length > 20)
rett += "Nombre excede los 20 caracteres. ";
if (cu.Celular.Length > 40)
rett += "Celular excede los 40 caracteres. ";
if (cu.Domicilio.Length > 40)
rett += "Domicilio excede los 40 caracteres. ";
if (cu.Email.Length > 50)
rett += "Email excede los 50 caracteres. ";
if (cu.EmailRecuperacion?.Length > 50)
rett += "Email de recuperación excede los 50 caracteres. ";
if (rett != "") return BadRequest(new { message = rett });
Cliente clii = new Cliente
{
Habilitado = 1,
Dni = cu.Dni,
Nombre = cu.Nombre,
Apellido = cu.Apellido,
Celular = cu.Celular,
Email = cu.Email,
EmailRecuperacion = ((cu.EmailRecuperacion ?? "").Length == 0) ? cu.Email : cu.EmailRecuperacion,
Domicilio = cu.Domicilio
};
var rettt = RepositorioUsuarios.Singleton.AltaUsuario(cli.Dni, clii, cu.Contraseña, cu.grupos);
return rettt
? Ok(new { message = "Usuario creado exitosamente." })
: BadRequest(new { message = "Hubo un error al crear el usuario." }); }
}