From a85d39cba8162096fbf6dbc61b60ef2e42a56645 Mon Sep 17 00:00:00 2001
From: fede
Date: Mon, 13 Jan 2025 18:14:19 -0300
Subject: [PATCH 01/24] stash pop
---
Front/src/App.svelte | 6 +++++-
.../paginas/ControlAlquileresInquilino.svelte | 16 ++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 Front/src/paginas/ControlAlquileresInquilino.svelte
diff --git a/Front/src/App.svelte b/Front/src/App.svelte
index 44c19fa..749f697 100644
--- a/Front/src/App.svelte
+++ b/Front/src/App.svelte
@@ -17,6 +17,7 @@
import AdminUsuarios from "./paginas/AdminUsuarios.svelte";
import AdminPropiedades from "./paginas/AdminPropiedades.svelte";
import Notificaciones from "./paginas/Notificaciones.svelte";
+ import ControlAlquileresInquilino from "./paginas/ControlAlquileresInquilino.svelte";
@@ -74,8 +75,11 @@
-
+
+
+
+
diff --git a/Front/src/paginas/ControlAlquileresInquilino.svelte b/Front/src/paginas/ControlAlquileresInquilino.svelte
new file mode 100644
index 0000000..511886b
--- /dev/null
+++ b/Front/src/paginas/ControlAlquileresInquilino.svelte
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
--
2.52.0
From 280bcd294a840d6fa27d8ce2b6b5e93531576fb1 Mon Sep 17 00:00:00 2001
From: fede
Date: Mon, 13 Jan 2025 20:02:31 -0300
Subject: [PATCH 02/24] =?UTF-8?q?migracion:=20a=C3=B1adida=20divisa?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Entidades/Alquilafacilcontext.cs | 54 ++++++++++++++++++++++++++++++++
Entidades/Contrato.cs | 4 +++
Entidades/Defecto.cs | 4 +++
Entidades/Divisa.cs | 19 +++++++++++
Entidades/Propiedade.cs | 4 +++
Entidades/Venta.cs | 4 +++
6 files changed, 89 insertions(+)
create mode 100644 Entidades/Divisa.cs
diff --git a/Entidades/Alquilafacilcontext.cs b/Entidades/Alquilafacilcontext.cs
index 8199acb..0272db0 100644
--- a/Entidades/Alquilafacilcontext.cs
+++ b/Entidades/Alquilafacilcontext.cs
@@ -23,6 +23,8 @@ public partial class AlquilaFacilContext : DbContext
public virtual DbSet Defectos { get; set; }
+ public virtual DbSet Divisas { get; set; }
+
public virtual DbSet EstadoPropiedads { get; set; }
public virtual DbSet Estadodefectos { get; set; }
@@ -153,6 +155,8 @@ public partial class AlquilaFacilContext : DbContext
entity.HasIndex(e => e.Idventa, "FK_CON_VEN");
+ entity.HasIndex(e => e.Iddivisa, "FK_contdiv");
+
entity.Property(e => e.Id)
.HasColumnType("bigint(20)")
.HasColumnName("id");
@@ -174,6 +178,9 @@ public partial class AlquilaFacilContext : DbContext
entity.Property(e => e.Habilitado)
.HasColumnType("bit(1)")
.HasColumnName("habilitado");
+ entity.Property(e => e.Iddivisa)
+ .HasColumnType("int(11)")
+ .HasColumnName("iddivisa");
entity.Property(e => e.Idpropiedad)
.HasColumnType("int(11)")
.HasColumnName("idpropiedad");
@@ -204,6 +211,11 @@ public partial class AlquilaFacilContext : DbContext
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_CON_PROPI");
+ entity.HasOne(d => d.IddivisaNavigation).WithMany(p => p.Contratos)
+ .HasForeignKey(d => d.Iddivisa)
+ .OnDelete(DeleteBehavior.Restrict)
+ .HasConstraintName("FK_contdiv");
+
entity.HasOne(d => d.IdpropiedadNavigation).WithMany(p => p.Contratos)
.HasForeignKey(d => d.Idpropiedad)
.OnDelete(DeleteBehavior.Restrict)
@@ -249,6 +261,8 @@ public partial class AlquilaFacilContext : DbContext
entity.HasIndex(e => e.Idestado, "FK_DEF_EST");
+ entity.HasIndex(e => e.Iddivisa, "FK_defdiv");
+
entity.Property(e => e.Id)
.HasColumnType("bigint(20)")
.HasColumnName("id");
@@ -261,6 +275,9 @@ public partial class AlquilaFacilContext : DbContext
entity.Property(e => e.Idcontrato)
.HasColumnType("bigint(20)")
.HasColumnName("idcontrato");
+ entity.Property(e => e.Iddivisa)
+ .HasColumnType("int(11)")
+ .HasColumnName("iddivisa");
entity.Property(e => e.Idestado)
.HasColumnType("int(11)")
.HasColumnName("idestado");
@@ -273,12 +290,29 @@ public partial class AlquilaFacilContext : DbContext
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_DEF_CON");
+ entity.HasOne(d => d.IddivisaNavigation).WithMany(p => p.Defectos)
+ .HasForeignKey(d => d.Iddivisa)
+ .OnDelete(DeleteBehavior.Restrict)
+ .HasConstraintName("FK_defdiv");
+
entity.HasOne(d => d.IdestadoNavigation).WithMany(p => p.Defectos)
.HasForeignKey(d => d.Idestado)
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_DEF_EST");
});
+ modelBuilder.Entity(entity =>
+ {
+ entity.HasKey(e => e.Id).HasName("PRIMARY");
+
+ entity.Property(e => e.Id)
+ .HasColumnType("int(11)")
+ .HasColumnName("id");
+ entity.Property(e => e.Signo)
+ .HasMaxLength(3)
+ .HasColumnName("signo");
+ });
+
modelBuilder.Entity(entity =>
{
entity.HasKey(e => e.Id).HasName("PRIMARY");
@@ -472,6 +506,8 @@ public partial class AlquilaFacilContext : DbContext
entity.HasIndex(e => e.Idtipropiedad, "FK_PROP_TIPO");
+ entity.HasIndex(e => e.Iddivisa, "FK_propdiv");
+
entity.Property(e => e.Id)
.HasColumnType("int(11)")
.HasColumnName("id");
@@ -481,6 +517,9 @@ public partial class AlquilaFacilContext : DbContext
entity.Property(e => e.Dnipropietario)
.HasColumnType("bigint(20)")
.HasColumnName("dnipropietario");
+ entity.Property(e => e.Iddivisa)
+ .HasColumnType("int(11)")
+ .HasColumnName("iddivisa");
entity.Property(e => e.Idestado)
.HasColumnType("int(11)")
.HasColumnName("idestado");
@@ -506,6 +545,11 @@ public partial class AlquilaFacilContext : DbContext
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_PROP_PROPI");
+ entity.HasOne(d => d.IddivisaNavigation).WithMany(p => p.Propiedades)
+ .HasForeignKey(d => d.Iddivisa)
+ .OnDelete(DeleteBehavior.Restrict)
+ .HasConstraintName("FK_propdiv");
+
entity.HasOne(d => d.IdestadoNavigation).WithMany(p => p.Propiedades)
.HasForeignKey(d => d.Idestado)
.OnDelete(DeleteBehavior.Restrict)
@@ -596,6 +640,8 @@ public partial class AlquilaFacilContext : DbContext
entity.HasIndex(e => e.Idpropiedad, "FK_VEN_PROP");
+ entity.HasIndex(e => e.Iddivisa, "FK_ventdiv");
+
entity.Property(e => e.Id)
.HasColumnType("bigint(20)")
.HasColumnName("id");
@@ -611,6 +657,9 @@ public partial class AlquilaFacilContext : DbContext
entity.Property(e => e.IdVendedor)
.HasColumnType("bigint(20)")
.HasColumnName("idVendedor");
+ entity.Property(e => e.Iddivisa)
+ .HasColumnType("int(11)")
+ .HasColumnName("iddivisa");
entity.Property(e => e.Idestado)
.HasColumnType("int(11)")
.HasColumnName("idestado");
@@ -631,6 +680,11 @@ public partial class AlquilaFacilContext : DbContext
.OnDelete(DeleteBehavior.Restrict)
.HasConstraintName("FK_VEN_PROL");
+ entity.HasOne(d => d.IddivisaNavigation).WithMany(p => p.Venta)
+ .HasForeignKey(d => d.Iddivisa)
+ .OnDelete(DeleteBehavior.Restrict)
+ .HasConstraintName("FK_ventdiv");
+
entity.HasOne(d => d.IdestadoNavigation).WithMany(p => p.Venta)
.HasForeignKey(d => d.Idestado)
.OnDelete(DeleteBehavior.Restrict)
diff --git a/Entidades/Contrato.cs b/Entidades/Contrato.cs
index fb566fd..ecbe717 100644
--- a/Entidades/Contrato.cs
+++ b/Entidades/Contrato.cs
@@ -33,12 +33,16 @@ public partial class Contrato
public ulong Cancelado { get; set; }
+ public int Iddivisa { get; set; }
+
public virtual ICollection Defectos { get; set; } = new List();
public virtual Cliente? DniinquilinoNavigation { get; set; }
public virtual Cliente? DnipropietarioNavigation { get; set; }
+ public virtual Divisa IddivisaNavigation { get; set; } = null!;
+
public virtual Propiedade? IdpropiedadNavigation { get; set; }
public virtual Venta? IdventaNavigation { get; set; }
diff --git a/Entidades/Defecto.cs b/Entidades/Defecto.cs
index 1147a55..6cc2269 100644
--- a/Entidades/Defecto.cs
+++ b/Entidades/Defecto.cs
@@ -17,7 +17,11 @@ public partial class Defecto
public ulong Pagainquilino { get; set; }
+ public int Iddivisa { get; set; }
+
public virtual Contrato? IdcontratoNavigation { get; set; }
+ public virtual Divisa IddivisaNavigation { get; set; } = null!;
+
public virtual Estadodefecto? IdestadoNavigation { get; set; }
}
diff --git a/Entidades/Divisa.cs b/Entidades/Divisa.cs
new file mode 100644
index 0000000..f9a5cb1
--- /dev/null
+++ b/Entidades/Divisa.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+
+namespace Entidades;
+
+public partial class Divisa
+{
+ public int Id { get; set; }
+
+ public string Signo { get; set; } = null!;
+
+ public virtual ICollection Contratos { get; set; } = new List();
+
+ public virtual ICollection Defectos { get; set; } = new List();
+
+ public virtual ICollection Propiedades { get; set; } = new List();
+
+ public virtual ICollection Venta { get; set; } = new List();
+}
diff --git a/Entidades/Propiedade.cs b/Entidades/Propiedade.cs
index 4a4812c..268fa3d 100644
--- a/Entidades/Propiedade.cs
+++ b/Entidades/Propiedade.cs
@@ -23,10 +23,14 @@ public partial class Propiedade
public decimal Monto { get; set; }
+ public int Iddivisa { get; set; }
+
public virtual ICollection Contratos { get; set; } = new List();
public virtual Cliente? DnipropietarioNavigation { get; set; }
+ public virtual Divisa IddivisaNavigation { get; set; } = null!;
+
public virtual EstadoPropiedad? IdestadoNavigation { get; set; }
public virtual TipoPropiedad IdtipropiedadNavigation { get; set; } = null!;
diff --git a/Entidades/Venta.cs b/Entidades/Venta.cs
index 4620380..200b45c 100644
--- a/Entidades/Venta.cs
+++ b/Entidades/Venta.cs
@@ -21,12 +21,16 @@ public partial class Venta
public DateTime? Fechafinal { get; set; }
+ public int Iddivisa { get; set; }
+
public virtual ICollection Contratos { get; set; } = new List();
public virtual Cliente? IdCompradorNavigation { get; set; }
public virtual Cliente? IdVendedorNavigation { get; set; }
+ public virtual Divisa IddivisaNavigation { get; set; } = null!;
+
public virtual Estadoventa? IdestadoNavigation { get; set; }
public virtual Propiedade? IdpropiedadNavigation { get; set; }
--
2.52.0
From 7565e21df890c3cae2f76a39ba64cc6b42239440 Mon Sep 17 00:00:00 2001
From: fede
Date: Mon, 13 Jan 2025 20:31:09 -0300
Subject: [PATCH 03/24] dmgc: llegue al frontend
---
Aspnet/Controllers/PropiedadesController.cs | 10 +++-
Entidades/Admin/PropiedadesAdmin.cs | 1 +
Entidades/Dto/AltaPropiedadDto.cs | 1 +
Entidades/Dto/PatchPropiedadDto.cs | 2 +-
Entidades/Dto/PropiedadesDto.cs | 1 +
Front/src/types.d.ts | 9 ++-
Modelo/RepositorioPropiedades.cs | 61 ++++++++++++++-------
7 files changed, 60 insertions(+), 25 deletions(-)
diff --git a/Aspnet/Controllers/PropiedadesController.cs b/Aspnet/Controllers/PropiedadesController.cs
index 0da73b7..26f34b6 100644
--- a/Aspnet/Controllers/PropiedadesController.cs
+++ b/Aspnet/Controllers/PropiedadesController.cs
@@ -109,6 +109,7 @@ public class PropiedadesController: ControllerBase {
Letra = propiedad.Letra ?? null,
Piso = propiedad.Piso ?? null,
Monto = propiedad.Monto,
+ Iddivisa = propiedad.Iddivisa,
};
var ret = RepositorioPropiedades.Singleton.AñadirPropiedad(Prop);
@@ -141,7 +142,8 @@ public class PropiedadesController: ControllerBase {
Letra = propiedad.Letra ?? null,
Piso = propiedad.Piso ?? null,
IdServicios = servs,
- Monto = propiedad.Monto
+ Monto = propiedad.Monto,
+ Iddivisa = propiedad.Iddivisa,
};
bool ret = RepositorioPropiedades.Singleton.PatchPropiedad(Prop);
@@ -225,6 +227,9 @@ public class PropiedadesController: ControllerBase {
if (String.IsNullOrEmpty(prop.Ubicacion)) ret += "Tiene que definir la ubicacion de la propiedad\n";
if (prop.Monto<=1) ret += "El monto tiene que ser como minimo mayor a 0";
+
+ if (prop.Iddivisa<0 || prop.Iddivisa>1) ret += "se tiene que elejir entre AR$ y US$";
+
return ret;
}
@@ -244,6 +249,9 @@ public class PropiedadesController: ControllerBase {
if (String.IsNullOrEmpty(prop.Ubicacion)) ret += "Tiene que definir la ubicacion de la propiedad\n";
if (prop.Monto<=1) ret += "El monto tiene que ser como minimo mayor a 0";
+
+ if (prop.Iddivisa<0 || prop.Iddivisa>1) ret += "se tiene que elejir entre AR$ y US$";
+
return ret;
}
diff --git a/Entidades/Admin/PropiedadesAdmin.cs b/Entidades/Admin/PropiedadesAdmin.cs
index 25274e5..38149b7 100644
--- a/Entidades/Admin/PropiedadesAdmin.cs
+++ b/Entidades/Admin/PropiedadesAdmin.cs
@@ -9,4 +9,5 @@ public class PropiedadesAdmin {
public string? Servicios {get;set;} = "";
public int Monto { get; set; }
public string Estado { get; set; } = "";
+ public int Iddivisa { get; set; }
}
diff --git a/Entidades/Dto/AltaPropiedadDto.cs b/Entidades/Dto/AltaPropiedadDto.cs
index a549463..8517bd2 100644
--- a/Entidades/Dto/AltaPropiedadDto.cs
+++ b/Entidades/Dto/AltaPropiedadDto.cs
@@ -7,4 +7,5 @@ public class AltaPropiedadDto {
public string Email { get; set; } = string.Empty;
public int Idtipropiedad { get; set; }
public int Monto { get; set; }
+ public int Iddivisa { get; set; }
}
\ No newline at end of file
diff --git a/Entidades/Dto/PatchPropiedadDto.cs b/Entidades/Dto/PatchPropiedadDto.cs
index f7a01d5..3c2ec20 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, List Servicios, int Monto);
+public record PatchPropiedadDto(int id, string Ubicacion, int Canthabitaciones, int? Piso, string? Letra, string Email, int tipo, List Servicios, int Monto, int Iddivisa);
diff --git a/Entidades/Dto/PropiedadesDto.cs b/Entidades/Dto/PropiedadesDto.cs
index 274206f..d5e2c13 100644
--- a/Entidades/Dto/PropiedadesDto.cs
+++ b/Entidades/Dto/PropiedadesDto.cs
@@ -8,4 +8,5 @@ public class PropiedadesDto {
public string Tipo { get; set; } = "";
public string? Servicios {get;set;} = "";
public int Monto { get; set; }
+ public int Iddivisa { get; set; }
}
diff --git a/Front/src/types.d.ts b/Front/src/types.d.ts
index cb2723e..bd249fc 100644
--- a/Front/src/types.d.ts
+++ b/Front/src/types.d.ts
@@ -6,7 +6,8 @@ export type PropiedadDto = {
letra: string | null,
canthabitaciones: number,
servicios: string,
- monto: number
+ monto: number,
+ iddivisa: number
}
export type AdminParametrosBusqueda = {
@@ -25,7 +26,8 @@ export type PropiedadAdmin = {
canthabitaciones: number,
servicios: string,
monto: number,
- estado: string
+ estado: string,
+ iddvisa: number
}
export type Permiso = {
id: number;
@@ -52,7 +54,8 @@ export type Propiedad = {
letra: string,
email: string,
idtipropiedad: number,
- monto: number
+ monto: number,
+ iddivisa: number
};
export type MensajeDto = {
diff --git a/Modelo/RepositorioPropiedades.cs b/Modelo/RepositorioPropiedades.cs
index e05d6d6..6d9dcc4 100644
--- a/Modelo/RepositorioPropiedades.cs
+++ b/Modelo/RepositorioPropiedades.cs
@@ -13,7 +13,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ListarPropiedades(){
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -53,7 +54,7 @@ public class RepositorioPropiedades: RepositorioBase {
var row = con.Database.ExecuteSqlRaw(
$"""
CALL InsertarPropiedad(@p_ubicacion, @p_cant_habitaciones, @p_piso, @p_letra,
- @p_dni_propietario, @p_id_tipo_propiedad, @p_monto, @p_filas_insertadas)
+ @p_dni_propietario, @p_id_tipo_propiedad, @p_monto, @iddivisa, @p_filas_insertadas)
""",
new MySqlParameter("@p_ubicacion", prop.Ubicacion),
new MySqlParameter("@p_cant_habitaciones", prop.Canthabitaciones),
@@ -62,6 +63,7 @@ public class RepositorioPropiedades: RepositorioBase {
new MySqlParameter("@p_dni_propietario", prop.Dnipropietario),
new MySqlParameter("@p_id_tipo_propiedad", prop.Idtipropiedad),
new MySqlParameter("@p_monto",prop.Monto),
+ new MySqlParameter("@iddivisa", prop.Iddivisa),
filasInsertadasParam
);
@@ -80,6 +82,7 @@ public class RepositorioPropiedades: RepositorioBase {
propi.Piso = prop.Piso;
propi.Letra = prop.Letra;
propi.Monto = prop.Monto;
+ prop.Iddivisa = prop.Iddivisa;
propi.IdServicios.Clear();
foreach(Servicio ser in prop.IdServicios) {
@@ -93,7 +96,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedadesPorEmail(string email) {
FormattableString sqlq = $"""
- SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios, p.monto as Monto
+ SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN Clientes c ON c.dni = p.dnipropietario
JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad
@@ -109,7 +113,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedadesDeBajaPorEmail(string email) {
FormattableString sqlq = $"""
- SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios, p.monto as Monto
+ SELECT p.id, p.ubicacion as Ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion as Tipo, GROUP_CONCAT(IFNULL(s.descripcion, '') SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN Clientes c ON c.dni = p.dnipropietario
JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad
@@ -189,7 +194,8 @@ public class RepositorioPropiedades: RepositorioBase {
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -213,7 +219,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedesPorHabitaciones_Tipo(int cantidadHabitaciones, int tipoPropiedad) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -232,7 +239,8 @@ public class RepositorioPropiedades: RepositorioBase {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -255,7 +263,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedesPorHabitaciones(int cantidadHabitaciones) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -272,7 +281,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedesPorTipo(int tipoPropiedad) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -290,7 +300,8 @@ public class RepositorioPropiedades: RepositorioBase {
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -315,7 +326,8 @@ public class RepositorioPropiedades: RepositorioBase {
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -352,7 +364,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ListarPropiedadesPorPagina(int pag) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto,
+ p.iddivisa as Idivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = 1
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -369,7 +382,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ListarPropiedadesPorPaginaAdmin(int pag) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -387,7 +401,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedesPorHabitacionesPaginado(int cantidadHabitaciones, int pag) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -405,7 +420,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedesPorTipoPaginado(int tipoPropiedad, int pag) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -423,7 +439,8 @@ public class RepositorioPropiedades: RepositorioBase {
public IQueryable ObtenerPropiedesPorHabitaciones_TipoPaginado(int cantidadHabitaciones, int tipoPropiedad, int pag) {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -443,7 +460,8 @@ public class RepositorioPropiedades: RepositorioBase {
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -468,7 +486,8 @@ public class RepositorioPropiedades: RepositorioBase {
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -494,7 +513,8 @@ public class RepositorioPropiedades: RepositorioBase {
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
@@ -520,7 +540,8 @@ public class RepositorioPropiedades: RepositorioBase {
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
- GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado
+ GROUP_CONCAT(DISTINCT s.descripcion SEPARATOR ', ') AS Servicios, p.monto as Monto, ep.descripcion AS Estado,
+ p.iddivisa as Iddivisa
FROM Propiedades p
JOIN EstadoPropiedad ep ON p.idestado = ep.id
JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id
--
2.52.0
From 013744d129cfa7af11cba5cb5a789c0a730f0a5e Mon Sep 17 00:00:00 2001
From: fede
Date: Tue, 14 Jan 2025 04:13:13 -0300
Subject: [PATCH 04/24] falta mirar en la base de datos si guardo el tipo de
moneda
---
.../Controllers/NotificacionesController.cs | 19 +++++++-----
Front/src/Componentes/AdminPropiedad.svelte | 8 ++++-
.../Componentes/PublicacionPropiedad.svelte | 8 ++++-
Front/src/Componentes/RowPropiedad.svelte | 15 +++++++---
.../Componentes/modificarPropiedadForm.svelte | 28 +++++++++++++++--
.../paginas/ControlAlquileresInquilino.svelte | 14 ++++++---
Front/src/paginas/MisPropiedades.svelte | 5 +++-
Front/src/paginas/MisPropiedadesDeBaja.svelte | 3 +-
Front/src/paginas/Notificaciones.svelte | 8 ++---
Front/src/paginas/PublicarPropiedad.svelte | 30 +++++++++++++++++--
Front/src/types.d.ts | 2 +-
Modelo/RepositorioContratos.cs | 1 +
Modelo/RepositorioNotificaciones.cs | 5 ++--
Modelo/RepositorioPropiedades.cs | 24 +++++++--------
Modelo/RepositorioUsuarios.cs | 4 +++
15 files changed, 131 insertions(+), 43 deletions(-)
diff --git a/Aspnet/Controllers/NotificacionesController.cs b/Aspnet/Controllers/NotificacionesController.cs
index fa8a141..a7a6a99 100644
--- a/Aspnet/Controllers/NotificacionesController.cs
+++ b/Aspnet/Controllers/NotificacionesController.cs
@@ -15,22 +15,25 @@ public class NotificacionesController: ControllerBase {
var cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest(new {message = "Fallo al intentar encontrar tu usuario (puede que te hayas logeado desde otro dispositivo?)"});
-
IQueryable notificaciones = RepositorioNotificaciones.Singleton.ObtenerNotificacionesDeUsuario(cli.Dni)
.Where(x=>x.Leido == leido);
+
+
List noti = new();
- Parallel.ForEach(notificaciones, i => {
+ foreach (Notificacione i in notificaciones) {
+ if(i.DniclienteNavigation == null || i.DniremitenteNavigation==null) return BadRequest(new { message = "Esta mal cargado el precontrato"});
var dto = new NotificacionDtoBuilder()
- .SetRemitente(i.DniremitenteNavigation.Email)
- .SetAccion(i.Accion)
- .SetMensaje(i.Mensaje)
+ .SetRemitente(i.DniremitenteNavigation.Email??"")
+ .SetAccion(i.Accion??"")
+ .SetMensaje(i.Mensaje??"")
.SetFecha(i.Fecha)
- .SetPropiedad(i.IdpropiedadNavigation.Id.ToString())
- .SetReceptor(i.DniclienteNavigation.Email)
+ .SetPropiedad(i.Idpropiedad.ToString()??"")
+ .SetReceptor(i.DniclienteNavigation.Email??"")
.Build();
noti.Add(dto);
- });
+ }
+
return Ok(noti);
}
diff --git a/Front/src/Componentes/AdminPropiedad.svelte b/Front/src/Componentes/AdminPropiedad.svelte
index a4f478b..bb1ce56 100644
--- a/Front/src/Componentes/AdminPropiedad.svelte
+++ b/Front/src/Componentes/AdminPropiedad.svelte
@@ -43,7 +43,13 @@
Piso: {prop.piso || "N/A"}
Letra: {prop.letra || "N/A"}
Servicios: {prop.servicios || "Sin servicios especificados"}
- Monto: ${prop.monto}
+ Monto:
+ {#if prop.iddivisa == 0}
+ AR$
+ {:else}
+ US$
+ {/if}
+ {prop.monto}
Estado: {prop.estado}
{#if prop.estado == "Disponible"}
diff --git a/Front/src/Componentes/PublicacionPropiedad.svelte b/Front/src/Componentes/PublicacionPropiedad.svelte
index 8008fbb..44a8f43 100644
--- a/Front/src/Componentes/PublicacionPropiedad.svelte
+++ b/Front/src/Componentes/PublicacionPropiedad.svelte
@@ -68,7 +68,13 @@
Piso: {prop.piso || "N/A"}
Letra: {prop.letra || "N/A"}
Servicios: {prop.servicios || "Sin servicios especificados"}
- Monto: ${prop.monto}
+ Monto:
+ {#if prop.iddivisa == 0}
+ AR$
+ {:else}
+ US$
+ {/if}
+ {prop.monto}
Alquilar
diff --git a/Front/src/Componentes/RowPropiedad.svelte b/Front/src/Componentes/RowPropiedad.svelte
index c9cdb15..d94093d 100644
--- a/Front/src/Componentes/RowPropiedad.svelte
+++ b/Front/src/Componentes/RowPropiedad.svelte
@@ -3,7 +3,7 @@
import ModalEstatico from "./ModalEstatico.svelte";
import ModificarPropiedadForm from "./modificarPropiedadForm.svelte";
- let { id, ubicacion, tipo, letra, piso,canthabitaciones, servicios, btnbaja = "Baja", monto } = $props();
+ let { id, ubicacion, tipo, letra, piso,canthabitaciones, servicios, btnbaja = "Baja", monto, iddivisa = 0 } = $props();
import { urlG } from "../stores/urlStore";
@@ -45,10 +45,17 @@
{piso}
{tipo}
{servicios}
+
+ {#if iddivisa == 0}
+ AR$
+ {:else}
+ US$
+ {/if}
+
{monto}
- setmod()}>Modificar
- BajaPropiedad()}>{btnbaja}
+ setmod()}>Modificar
+ BajaPropiedad()}>{btnbaja}
{#if modal}
@@ -57,7 +64,7 @@
{#if modificar}
-
+
{/if}
diff --git a/Front/src/Componentes/modificarPropiedadForm.svelte b/Front/src/Componentes/modificarPropiedadForm.svelte
index 709ec9b..4911810 100644
--- a/Front/src/Componentes/modificarPropiedadForm.svelte
+++ b/Front/src/Componentes/modificarPropiedadForm.svelte
@@ -2,7 +2,7 @@
import { urlG } from "../stores/urlStore";
import { onMount } from "svelte";
- let { canthabitaciones, id, letra, piso, tipo, ubicacion, servicios, monto } = $props();
+ let { canthabitaciones, id, letra, piso, tipo, ubicacion, servicios, monto, iddivisa} = $props();
let serviciosSeleccionados: string[] = $state([]);
const serviciosDisponibles = ["Gas", "Internet", "Telefono", "Luz"];
@@ -53,7 +53,8 @@
ubicacion,
email,
servicios: serviciosSeleccionados,
- monto
+ monto,
+ iddivisa
}),
});
if (response.ok) {
@@ -151,6 +152,29 @@
Tipo de propiedad
+
{#each serviciosDisponibles as servicio}
diff --git a/Front/src/paginas/ControlAlquileresInquilino.svelte b/Front/src/paginas/ControlAlquileresInquilino.svelte
index 511886b..f2670d4 100644
--- a/Front/src/paginas/ControlAlquileresInquilino.svelte
+++ b/Front/src/paginas/ControlAlquileresInquilino.svelte
@@ -1,16 +1,22 @@
-
+
-
\ No newline at end of file
diff --git a/Front/src/paginas/MisPropiedades.svelte b/Front/src/paginas/MisPropiedades.svelte
index 5f903a4..0f89e29 100644
--- a/Front/src/paginas/MisPropiedades.svelte
+++ b/Front/src/paginas/MisPropiedades.svelte
@@ -52,13 +52,16 @@
Piso
Tipo
Servicios
+
Divisa
Monto
{#each $propiedades as propiedad}
-
+
{/each}
diff --git a/Front/src/paginas/MisPropiedadesDeBaja.svelte b/Front/src/paginas/MisPropiedadesDeBaja.svelte
index 8c8424e..b3c8e6a 100644
--- a/Front/src/paginas/MisPropiedadesDeBaja.svelte
+++ b/Front/src/paginas/MisPropiedadesDeBaja.svelte
@@ -53,13 +53,14 @@
Piso
Tipo
Servicios
+
Divisa
Monto
{#each $propiedades as propiedad}
-
+
{/each}
diff --git a/Front/src/paginas/Notificaciones.svelte b/Front/src/paginas/Notificaciones.svelte
index 9ed6947..d43e2d7 100644
--- a/Front/src/paginas/Notificaciones.svelte
+++ b/Front/src/paginas/Notificaciones.svelte
@@ -170,7 +170,7 @@
cantidadGarantes: data.cantGarantes,
idPropiedad: Selmens.propiedad,
fechaprimernotificacion: fecha,
- emailInquilino: localStorage.getItem("email"),
+ emailInquilino: Selmens.remitente,
emailPropietario: Selmens.receptor,
};
@@ -459,7 +459,7 @@
{#if mensajes.length <= 0}
-
+
No hay Mensajes para leer
@@ -481,8 +481,8 @@
Expandir
{/if}
- {#if men.accion === "ContratoCancelado" || men.accion === "Rechazo Contrato" ||
- men.accion === "Aceptado Contrato"}
+ {#if (men.accion === "ContratoCancelado" || men.accion === "Rechazo Contrato" ||
+ men.accion === "Aceptado Contrato") && mostrarleidos == false}
marcarleido(men.fecha, localStorage.getItem("email")|| "", men)}>
diff --git a/Front/src/paginas/PublicarPropiedad.svelte b/Front/src/paginas/PublicarPropiedad.svelte
index 34fc13b..cf507f0 100644
--- a/Front/src/paginas/PublicarPropiedad.svelte
+++ b/Front/src/paginas/PublicarPropiedad.svelte
@@ -5,15 +5,16 @@
import type { Propiedad } from "../types";
import { urlG } from "../stores/urlStore";
- let propiedad: Propiedad = {
+ let propiedad = $state({
ubicacion: "",
canthabitaciones: 1,
piso: 0,
letra: "",
email: localStorage.getItem("email") || "",
idtipropiedad: 1,
+ iddivisa:0,
monto: 1,
- };
+ });
let token = sessionStorage.getItem("token");
let mostrarModal = $state(false);
@@ -116,6 +117,31 @@
/>
Letra
+
+
+
+
+ Meses Duracion Contrato
+
+