From dee2031d87c63bf71ce01ef8b152f31446bd1ef1 Mon Sep 17 00:00:00 2001 From: fede Date: Fri, 6 Dec 2024 00:01:31 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20ahora=20se=20pueden=20ver=20las=20propi?= =?UTF-8?q?edades=20dadas=20de=20baja=20y=20a=C3=B1adido=20el=20tema=20de?= =?UTF-8?q?=20los=20servicios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fede --- Aspnet/Controllers/PropiedadesController.cs | 23 +- Entidades/Dto/PatchPropiedadDto.cs | 2 +- Entidades/Dto/PropiedadesDto.cs | 1 + Front/src/App.svelte | 13 +- Front/src/Componentes/ListaAcciones.svelte | 4 +- Front/src/Componentes/RowPropiedad.svelte | 24 +- .../Componentes/modificarPropiedadForm.svelte | 247 ++++++++++-------- Front/src/paginas/MisPropiedades.svelte | 3 +- Front/src/paginas/MisPropiedadesDeBaja.svelte | 64 +++++ Front/src/types.d.ts | 1 + Modelo/RepositorioPropiedades.cs | 39 ++- Modelo/RepositorioServicios.cs | 5 + 12 files changed, 291 insertions(+), 135 deletions(-) create mode 100644 Front/src/paginas/MisPropiedadesDeBaja.svelte diff --git a/Aspnet/Controllers/PropiedadesController.cs b/Aspnet/Controllers/PropiedadesController.cs index 23a92c4..08f78c9 100644 --- a/Aspnet/Controllers/PropiedadesController.cs +++ b/Aspnet/Controllers/PropiedadesController.cs @@ -46,6 +46,22 @@ public class PropiedadesController: ControllerBase { return Ok(ret); } + [HttpGet("api/propiedades/Propietario/Bajas")] + public IActionResult ObtenerPropiedadesPorPropietarioBajas ( + [FromHeader(Name = "Email")] string email, + [FromHeader(Name = "Auth")] string Auth) { + + if (String.IsNullOrEmpty(Auth)) return Unauthorized(); + var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 8); + if (validacion1 == false) return Unauthorized(); + + email = email.Trim(); + if (String.IsNullOrEmpty(email)) return BadRequest(new {message ="falta campo email"}); + + IQueryable ret = RepositorioPropiedades.Singleton.ObtenerPropiedadesDeBajaPorEmail(email); + return Ok(ret); + } + [HttpPost("api/propiedad")] public IActionResult AltaPropiedad([FromBody] AltaPropiedadDto propiedad, [FromHeader(Name = "Auth")] string Auth) { if (String.IsNullOrEmpty(Auth)) return Unauthorized(); @@ -86,6 +102,8 @@ public class PropiedadesController: ControllerBase { Cliente? cli = RepositorioPropietario.Singleton.ObtenerPropietarioPorEmail(propiedad.Email); if (cli == null) return BadRequest(new { message = "El email no corresponde a un propietario"}); + List servs = RepositorioServicios.Singleton.ObtenerServiciosPorDescripcion(propiedad.Servicios); + Propiedade Prop = new Propiedade{ Id = propiedad.id, Canthabitaciones = propiedad.Canthabitaciones, @@ -94,6 +112,7 @@ public class PropiedadesController: ControllerBase { Ubicacion = propiedad.Ubicacion, Letra = propiedad.Letra ?? null, Piso = propiedad.Piso ?? null, + IdServicios = servs, }; bool ret = RepositorioPropiedades.Singleton.PatchPropiedad(Prop); @@ -115,8 +134,8 @@ public class PropiedadesController: ControllerBase { var ret = RepositorioPropiedades.Singleton.BajaPropiedad(id, propie); return ret ? - Ok(new {message = $"la propiedad con id {id} fue dada de baja"}): - BadRequest(new {message="Fallo al dar de baja la propiedad"}); + Ok(new { message = $"Se Cambio el estado de la propiedad con id {id}"}): + BadRequest(new {message="Fallo al cambiar el estado de la propiedad"}); } [HttpPut("api/propiedades/addServicio")] diff --git a/Entidades/Dto/PatchPropiedadDto.cs b/Entidades/Dto/PatchPropiedadDto.cs index 3426407..e146ce7 100644 --- a/Entidades/Dto/PatchPropiedadDto.cs +++ b/Entidades/Dto/PatchPropiedadDto.cs @@ -1,3 +1,3 @@ namespace Entidades.Dto; -public record PatchPropiedadDto(int id, string Ubicacion, int Canthabitaciones, int? Piso, string? Letra, string Email, int tipo); +public record PatchPropiedadDto(int id, string Ubicacion, int Canthabitaciones, int? Piso, string? Letra, string Email, int tipo, List Servicios); diff --git a/Entidades/Dto/PropiedadesDto.cs b/Entidades/Dto/PropiedadesDto.cs index bb0c3c4..b4aa423 100644 --- a/Entidades/Dto/PropiedadesDto.cs +++ b/Entidades/Dto/PropiedadesDto.cs @@ -6,4 +6,5 @@ public class PropiedadesDto { public int piso { get; set; } public string letra { get; set; } = ""; public string Tipo { get; set; } = ""; + public string? Servicios {get;set;} = ""; } diff --git a/Front/src/App.svelte b/Front/src/App.svelte index b1efce0..6528cb0 100644 --- a/Front/src/App.svelte +++ b/Front/src/App.svelte @@ -7,6 +7,7 @@ import InqPage from "./paginas/inquilino.svelte"; import PropPage from "./paginas/propietario.svelte"; import MisPropiedades from "./paginas/MisPropiedades.svelte"; + import MisPropiedadesDeBaja from "./paginas/MisPropiedadesDeBaja.svelte"; import FrontAdmin from "./paginas/grupos/AdminG.svelte"; import FrontInformes from "./paginas/grupos/InformesG.svelte"; import FrontInquilino from "./paginas/grupos/InquilinoG.svelte"; @@ -34,19 +35,25 @@ + + + + + + - - - + + + diff --git a/Front/src/Componentes/ListaAcciones.svelte b/Front/src/Componentes/ListaAcciones.svelte index d93319e..51bdbfa 100644 --- a/Front/src/Componentes/ListaAcciones.svelte +++ b/Front/src/Componentes/ListaAcciones.svelte @@ -39,10 +39,10 @@ } -
+
{#each $permisos as item} {item.descripcion} {/each} -
\ No newline at end of file +
diff --git a/Front/src/Componentes/RowPropiedad.svelte b/Front/src/Componentes/RowPropiedad.svelte index 9894728..73b54e4 100644 --- a/Front/src/Componentes/RowPropiedad.svelte +++ b/Front/src/Componentes/RowPropiedad.svelte @@ -1,10 +1,9 @@ {#if showAlert} -