diff --git a/Aspnet/Controllers/PropiedadesController.cs b/Aspnet/Controllers/PropiedadesController.cs index d346b59..25bf243 100644 --- a/Aspnet/Controllers/PropiedadesController.cs +++ b/Aspnet/Controllers/PropiedadesController.cs @@ -58,6 +58,36 @@ public class PropiedadesController: ControllerBase { return Ok(l); } + [HttpGet("api/propiedades/Venta/Propietario")] + public IActionResult ObtenerPropiedadesVentaDePropietario( [FromHeader(Name = "Auth")] string Auth){ + var validacion1 = RepositorioGrupos.Singleton.CheckGrupos(Auth, "Propietario"); + if (validacion1 == false) { + return Unauthorized(); + } + + Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth); + if (cli == null) return Unauthorized(); + + var props = RepositorioPropiedades.Singleton.ObtenerPropiedadesAVentaPorDni(cli.Dni); + List ll = new(); + + foreach (var i in props) { + var a = new PropiedadesDto { + id = i.Id, + Ubicacion = i.Ubicacion, + canthabitaciones = i.Canthabitaciones, + Iddivisa = i.Iddivisa, + letra = i.Letra??"", + Monto = (int)i.Monto, //mmmm + piso = i.Piso??0, + Servicios = string.Join(", ", i.IdServicios.Select(x => x.Descripcion)), + Tipo = i.IdtipropiedadNavigation.Descripcion, + }; + ll.Add(a); + } + return Ok(ll); + } + [HttpGet("api/propiedad")] public IActionResult ObtenerPropiedadPorId(int Id, [FromHeader(Name = "Auth")] string Auth) { if (String.IsNullOrEmpty(Auth)) return Unauthorized(); diff --git a/Front/src/App.svelte b/Front/src/App.svelte index ccb6c09..b5870a8 100644 --- a/Front/src/App.svelte +++ b/Front/src/App.svelte @@ -28,6 +28,7 @@ import ControlPagos from "./paginas/ControlPagos.svelte"; import ContratoAdmin from "./paginas/ContratoAdmin.svelte"; import BuscarVentas from "./paginas/BuscarVentas.svelte"; + import MisPropiedadesEnVenta from "./paginas/MisPropiedadesEnVenta.svelte"; @@ -116,10 +117,16 @@ + + + + + + diff --git a/Front/src/Componentes/ModalPublicarPropiedadParaVenta.svelte b/Front/src/Componentes/ModalPublicarPropiedadParaVenta.svelte index 64a749b..ea0d4ff 100644 --- a/Front/src/Componentes/ModalPublicarPropiedadParaVenta.svelte +++ b/Front/src/Componentes/ModalPublicarPropiedadParaVenta.svelte @@ -1,12 +1,17 @@ @@ -14,7 +19,7 @@ diff --git a/Front/src/Componentes/NavBarLogin.svelte b/Front/src/Componentes/NavBarLogin.svelte index 59c245f..343e94c 100644 --- a/Front/src/Componentes/NavBarLogin.svelte +++ b/Front/src/Componentes/NavBarLogin.svelte @@ -1,7 +1,7 @@ diff --git a/Front/src/paginas/MisPropiedadesEnVenta.svelte b/Front/src/paginas/MisPropiedadesEnVenta.svelte new file mode 100644 index 0000000..e295a42 --- /dev/null +++ b/Front/src/paginas/MisPropiedadesEnVenta.svelte @@ -0,0 +1,159 @@ + + + + +{#if modaldata} + !!(modaldata = "")}/> +{/if} + +{#if showBajaVenta} + !!(showBajaVenta=false)} onConfirm={submitBajaVenta}/> +{/if} + +
+ + + + + + + + + + + + + + + + + + + {#if propiedades == null} + + + + {:else if propiedades.length <=0} + + + + {:else} + {#each propiedades as p} + + + + + + + + + + + + + {#if modificar} + + + + {/if} + {/each} + {/if} + +
#ubicacionHabitacionesLetraPisoTipoServiciosDivisaMonto
+
+ Cargando... +
No hay propiedades en venta para este usuario
{p.id}{p.ubicacion}{p.canthabitaciones}{p.letra}{p.piso}{p.tipo}{p.servicios} + {#if p.iddivisa == 0} + AR$ + {:else} + US$ + {/if} + {p.monto} + + +
+ +
+
diff --git a/Front/src/types.d.ts b/Front/src/types.d.ts index 844d360..bba5a58 100644 --- a/Front/src/types.d.ts +++ b/Front/src/types.d.ts @@ -193,4 +193,17 @@ export type setVenta = { idpropiedad:number, monto:number, iddivisa:number, +} + +export type PatchPropiedad = { + id:number, + ubicacion:string, + canthabitaciones:number, + piso:number, + letra:string, + email:string, + tipo:number, + servicios: string[], + monto:number, + iddivisa:number } \ No newline at end of file diff --git a/Modelo/RepositorioPropiedades.cs b/Modelo/RepositorioPropiedades.cs index f0afd83..e5fe33c 100644 --- a/Modelo/RepositorioPropiedades.cs +++ b/Modelo/RepositorioPropiedades.cs @@ -620,4 +620,11 @@ public class RepositorioPropiedades: RepositorioBase { .Where(x=>x.Idestado ==4).Skip(pag*10).Take(10); return props; } + + public IQueryable ObtenerPropiedadesAVentaPorDni(long dni) { + var con = Context; + var l = con.Propiedades.Include(x=>x.IdServicios).Include(x=>x.IdtipropiedadNavigation) + .Where(x=>x.Dnipropietario == dni && x.Idestado ==4); + return l; + } } \ No newline at end of file diff --git a/Modelo/RepositorioVentas.cs b/Modelo/RepositorioVentas.cs index cc203fb..f81ec4d 100644 --- a/Modelo/RepositorioVentas.cs +++ b/Modelo/RepositorioVentas.cs @@ -97,7 +97,7 @@ public class RepositorioVentas: RepositorioBase { cont.Monto = monto; cont.Iddivisa = iddivisa; - cont.Idestado = 4; + cont.Idestado = 3; GenerarLog(con, dni, "Se Bajo la propiedad de venta"); return Guardar(con); }