diff --git a/Aspnet/Controllers/AdminController.cs b/Aspnet/Controllers/AdminController.cs
index 50e76be..04286d8 100644
--- a/Aspnet/Controllers/AdminController.cs
+++ b/Aspnet/Controllers/AdminController.cs
@@ -21,6 +21,46 @@ public class AdminController: ControllerBase
return Ok(list);
}
+ [HttpGet("api/admin/cliente")]
+ public IActionResult ObtenerCliente([FromHeader(Name ="Auth")]string Auth, long dni = 0){
+ if (String.IsNullOrEmpty(Auth)) return Unauthorized();
+ var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 9);
+ if (validacion1 == false) return Unauthorized();
+ if (dni <= 0) return BadRequest(new { message = "No puede haber un dni 0 o menor"});
+
+ Cliente? cambio = RepositorioUsuarios.Singleton.ObtenerClientePorDni(dni);
+ if (cambio == null) BadRequest(new { message = "no hay un cliente por ese dni"});
+
+ UpdateUsuarioAdmin a = new UpdateUsuarioAdmin{
+ Apellido = cambio.Apellido,
+ Celular = cambio.Celular,
+ Domicilio = cambio.Domicilio,
+ Nombre = cambio.Nombre,
+ };
+
+ return Ok(a);
+ }
+
+ [HttpPatch("api/admin/cliente")]
+ public IActionResult PatchCliente([FromHeader(Name ="Auth")]string Auth, [FromBody]UpdateUsuarioAdmin dto, [FromQuery]long dni=0){
+ if (String.IsNullOrEmpty(Auth)) return Unauthorized();
+ var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 9);
+ if (validacion1 == false) return Unauthorized();
+ if (dni <= 0) return BadRequest(new { message = "No puede haber un dni 0 o menor"});
+
+ var validacion2 = checkdto(dto);
+ if (validacion2 != "") return BadRequest(new { message = validacion2});
+
+ Cliente?cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
+ if (cli == null) return Unauthorized();
+
+ bool ret = RepositorioUsuarios.Singleton.PatchUsuario(dto, dni, cli.Dni);
+
+ return ret?
+ Ok(new { message = "Se actualizaron los datos"}):
+ BadRequest(new { message = "Fallo al guardar los datos"});
+ }
+
[HttpGet("api/admin/clientes/grupo")]
public IActionResult GetGruposByCliente([FromHeader(Name ="Auth")]string Auth, [FromQuery]long Dni){
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
@@ -159,4 +199,13 @@ public class AdminController: ControllerBase
int ret = RepositorioPropiedades.Singleton.CuantasPaginasBusqueda(cantidadHabitaciones, servicios, tipoPropiedad, 0);
return Ok(new { message = ret});
}
+
+ private string checkdto(UpdateUsuarioAdmin d){
+ string ret ="";
+ if (d.Nombre=="") ret+="Campo Nombre vacio\n";
+ if (d.Apellido=="") ret+="Campo Apellido vacio\n";
+ if (d.Celular=="") ret+="Campo Celular vacio\n";
+ if (d.Domicilio=="")ret+="Campo Domicilio vacio\n";
+ return ret;
+ }
}
\ No newline at end of file
diff --git a/Entidades/Admin/UpdateUsuarioAdmin.cs b/Entidades/Admin/UpdateUsuarioAdmin.cs
new file mode 100644
index 0000000..97846fc
--- /dev/null
+++ b/Entidades/Admin/UpdateUsuarioAdmin.cs
@@ -0,0 +1,8 @@
+namespace Entidades.Admin;
+public class UpdateUsuarioAdmin {
+ public string Nombre { get; set; } = null!;
+ public string Apellido { get; set; } = null!;
+ public string Domicilio { get; set; } = null!;
+ public string Celular { get; set; } = null!;
+
+}
\ No newline at end of file
diff --git a/Front/src/Componentes/ModalModificarPropietarios.svelte b/Front/src/Componentes/ModalModificarPropietarios.svelte
new file mode 100644
index 0000000..8a0f07b
--- /dev/null
+++ b/Front/src/Componentes/ModalModificarPropietarios.svelte
@@ -0,0 +1,54 @@
+
+
+
\ No newline at end of file
diff --git a/Front/src/paginas/AdminUsuarios.svelte b/Front/src/paginas/AdminUsuarios.svelte
index 2bca06b..da3c5d2 100644
--- a/Front/src/paginas/AdminUsuarios.svelte
+++ b/Front/src/paginas/AdminUsuarios.svelte
@@ -1,11 +1,13 @@
@@ -148,13 +205,18 @@
!!(modaldata = "")}/>
{/if}
+{#if showModificarCliente}
+!!(showModificarCliente = false)}
+ onConfirm={patchCliente}/>
+{/if}
+
-
+
-
+
| Dni |
@@ -171,14 +233,17 @@
{cli.email} |
{#if cli.habilitado}
- |
{/each}
@@ -186,7 +251,7 @@
-
+
@@ -208,11 +273,11 @@
{/each}
{:else if SelCliente != null}
- | Este Cliente no tiene Grupos |
+ Este Cliente no tiene Grupos |
{:else}
- | Seleccione un cliente para ver sus grupos |
+ Seleccione un cliente para ver sus grupos |
{/if}
diff --git a/Front/src/types.d.ts b/Front/src/types.d.ts
index 175ed29..89acc40 100644
--- a/Front/src/types.d.ts
+++ b/Front/src/types.d.ts
@@ -179,4 +179,12 @@ export type LogDetalleDto = {
columna:string,
valorAnterior:string,
valorNuevo:string
+}
+
+export type UpdateCliente = {
+ dni:number,
+ nombre:string,
+ apellido:string,
+ domicilio:string,
+ celular:string,
}
\ No newline at end of file
diff --git a/Modelo/RepositorioUsuarios.cs b/Modelo/RepositorioUsuarios.cs
index fae8e0d..08bec3f 100644
--- a/Modelo/RepositorioUsuarios.cs
+++ b/Modelo/RepositorioUsuarios.cs
@@ -3,6 +3,7 @@ using System.Text;
using Entidades.Dto;
using Entidades;
using Microsoft.EntityFrameworkCore;
+using Entidades.Admin;
namespace Modelo;
@@ -186,4 +187,18 @@ public class RepositorioUsuarios: RepositorioBase {
if (cli == null|| cli.Dni == 0) return null;
return cli;
}
+
+ public bool PatchUsuario(UpdateUsuarioAdmin dto, long dni, long responsabledni) {
+ var con = Context;
+ var usu = con.Clientes.FirstOrDefault(x=>x.Dni ==dni);
+ if (usu == null) return false;
+
+ usu.Nombre = dto.Nombre;
+ usu.Apellido = dto.Apellido;
+ usu.Celular = dto.Celular;
+ usu.Domicilio = dto.Domicilio;
+
+ GenerarLog(con, responsabledni, "Patch Usuario");
+ return Guardar(con);
+ }
}