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