From f7d52041ba6a0f73f086465d143de07b351892a2 Mon Sep 17 00:00:00 2001 From: fede Date: Mon, 5 May 2025 22:45:45 -0300 Subject: [PATCH] Format code with proper spacing and brackets --- Modelo/RepositorioPropiedades.cs | 458 +++++++++++++++++-------------- 1 file changed, 255 insertions(+), 203 deletions(-) diff --git a/Modelo/RepositorioPropiedades.cs b/Modelo/RepositorioPropiedades.cs index 36c0c99..4156658 100644 --- a/Modelo/RepositorioPropiedades.cs +++ b/Modelo/RepositorioPropiedades.cs @@ -8,43 +8,48 @@ using Microsoft.Identity.Client; using Modelo; using MySql.Data.MySqlClient; -public class RepositorioPropiedades: RepositorioBase { +public class RepositorioPropiedades : RepositorioBase +{ - public IQueryable ListarPropiedades(){ + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id - GROUP BY p.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id + GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); + + var ret = Context.Database.SqlQuery(sqlq); return ret; } - public Propiedade? ObtenerPropiedadPorId(int Id) { + public Propiedade? ObtenerPropiedadPorId(int Id) + { var con = Context; - Propiedade? prop = con.Propiedades.Include(x=>x.DnipropietarioNavigation).FirstOrDefault(x=>x.Id == Id); - - if (prop == null || prop.Id == 0) { + Propiedade? prop = con.Propiedades.Include(x => x.DnipropietarioNavigation).FirstOrDefault(x => x.Id == Id); + + if (prop == null || prop.Id == 0) + { return null; } return prop; } - public bool AñadirPropiedad(Propiedade? prop) { + public bool AñadirPropiedad(Propiedade? prop) + { if (prop == null) return false; var con = Context; if (string.IsNullOrEmpty(prop.Letra)) prop.Letra = "_"; - + var filasInsertadasParam = new MySqlParameter("@p_filas_insertadas", SqlDbType.Int) { Direction = ParameterDirection.Output @@ -62,18 +67,19 @@ public class RepositorioPropiedades: RepositorioBase { new MySqlParameter("@p_letra", prop.Letra), new MySqlParameter("@p_dni_propietario", prop.Dnipropietario), new MySqlParameter("@p_id_tipo_propiedad", prop.Idtipropiedad), - new MySqlParameter("@p_monto",prop.Monto), + new MySqlParameter("@p_monto", prop.Monto), new MySqlParameter("@iddivisa", prop.Iddivisa), filasInsertadasParam ); - return (int)filasInsertadasParam.Value == 1? true: false; + return (int)filasInsertadasParam.Value == 1 ? true : false; } - public bool PatchPropiedad(Propiedade prop, long dni) { + public bool PatchPropiedad(Propiedade prop, long dni) + { var con = Context; - Propiedade? propi = con.Propiedades.Include(x=>x.IdServicios).FirstOrDefault(x=>x.Id == prop.Id); - + Propiedade? propi = con.Propiedades.Include(x => x.IdServicios).FirstOrDefault(x => x.Id == prop.Id); + if (propi == null) return false; propi.Canthabitaciones = prop.Canthabitaciones; @@ -83,10 +89,11 @@ public class RepositorioPropiedades: RepositorioBase { propi.Letra = prop.Letra; propi.Monto = prop.Monto; propi.Iddivisa = prop.Iddivisa; - + propi.IdServicios.Clear(); - foreach(Servicio ser in prop.IdServicios) { - var servi = con.Servicios.FirstOrDefault(x=>x.Id == ser.Id); + foreach (Servicio ser in prop.IdServicios) + { + var servi = con.Servicios.FirstOrDefault(x => x.Id == ser.Id); if (servi == null) return false; propi.IdServicios.Add(servi); } @@ -94,46 +101,50 @@ public class RepositorioPropiedades: RepositorioBase { return Guardar(con); } - public IQueryable ObtenerPropiedadesPorEmail(string email) { + 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, p.iddivisa as Iddivisa FROM Propiedades p - JOIN Clientes c ON c.dni = p.dnipropietario - JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad + JOIN Clientes c ON c.dni = p.dnipropietario + JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad LEFT JOIN Servicio_Propiedad ps ON ps.idPropiedad = p.id LEFT JOIN Servicios s ON s.Id = ps.idServicio WHERE c.email = {email} AND p.idestado = 1 GROUP BY p.id """; var ret = Context.Database.SqlQuery(sqlq); - + return ret; } - public IQueryable ObtenerPropiedadesDeBajaPorEmail(string email) { + 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, p.iddivisa as Iddivisa FROM Propiedades p - JOIN Clientes c ON c.dni = p.dnipropietario - JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad + JOIN Clientes c ON c.dni = p.dnipropietario + JOIN TipoPropiedad tp ON tp.id = p.idtipropiedad LEFT JOIN Servicio_Propiedad ps ON ps.idPropiedad = p.id LEFT JOIN Servicios s ON s.Id = ps.idServicio WHERE c.email = {email} AND p.idestado = 3 GROUP BY p.id """; var ret = Context.Database.SqlQuery(sqlq); - + return ret; } - public bool AñadirServicioAPropiedad(int idprop, List idserv){ + public bool AñadirServicioAPropiedad(int idprop, List idserv) + { var con = Context; Propiedade? prop = con.Propiedades.Find(idprop); if (prop == null) return false; - foreach (int id in idserv) { + foreach (int id in idserv) + { Servicio? servicio = con.Servicios.Find(id); if (servicio == null) return false; @@ -143,17 +154,21 @@ public class RepositorioPropiedades: RepositorioBase { return Guardar(con); } - public bool BajaPropiedad(int id, Cliente? cli) { + public bool BajaPropiedad(int id, Cliente? cli) + { if (cli == null) return false; var con = Context; - Propiedade? prop = con.Propiedades.FirstOrDefault(x=>x.Id == id); + Propiedade? prop = con.Propiedades.FirstOrDefault(x => x.Id == id); if (prop == null) return false; if (prop.Dnipropietario != cli.Dni) return false; - if(prop.Idestado == 1){ + if (prop.Idestado == 1) + { prop.Idestado = 3; - }else{ + } + else + { prop.Idestado = 1; } GenerarLog(con, cli.Dni, $"Baja propiedad: {prop.Id}"); @@ -161,36 +176,41 @@ public class RepositorioPropiedades: RepositorioBase { } - public bool BajaPropiedad(int id, long dni) { + public bool BajaPropiedad(int id, long dni) + { var con = Context; - Propiedade? prop = con.Propiedades.FirstOrDefault(x=>x.Id == id); - - if (prop == null||prop.Dnipropietario == 0) return false; + Propiedade? prop = con.Propiedades.FirstOrDefault(x => x.Id == id); + + if (prop == null || prop.Dnipropietario == 0) return false; prop.Idestado = prop.Idestado == 3 ? 1 : 3; GenerarLog(con, dni, $"Baja propiedad: {prop.Id}"); return Guardar(con); } - public bool BajaServiciosAPropiedad(int idprop, List idserv, long dni) { + public bool BajaServiciosAPropiedad(int idprop, List idserv, long dni) + { var con = Context; - Propiedade? prop = con.Propiedades.Include(x=>x.IdServicios).FirstOrDefault(x => x.Id == idprop); + Propiedade? prop = con.Propiedades.Include(x => x.IdServicios).FirstOrDefault(x => x.Id == idprop); if (prop == null) return false; - foreach (int id in idserv) { + foreach (int id in idserv) + { Servicio? servicio = con.Servicios.Find(id); if (servicio == null) return false; - if (prop.IdServicios.Contains(servicio)){ + if (prop.IdServicios.Contains(servicio)) + { prop.IdServicios.Remove(servicio); } } GenerarLog(con, dni, $"Baja servicios a propiedad: {prop.Id}"); - return Guardar(con); + return Guardar(con); } - public IQueryable ObtenerPropiedesPorHabitaciones_Tipo_Servicios(int habitaciones, int tipo, string servicios) { + public IQueryable ObtenerPropiedesPorHabitaciones_Tipo_Servicios(int habitaciones, int tipo, string servicios) + { 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, @@ -198,9 +218,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {habitaciones} AND p.idtipropiedad = {tipo} AND EXISTS ( SELECT 1 @@ -211,30 +231,32 @@ public class RepositorioPropiedades: RepositorioBase { ) GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); + + var ret = Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorHabitaciones_Tipo(int cantidadHabitaciones, int tipoPropiedad) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {cantidadHabitaciones} AND p.idtipropiedad = {tipoPropiedad} - GROUP BY p.id + GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); + + var ret = Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorServicios(string servicios) { + public IQueryable ObtenerPropiedesPorServicios(string servicios) + { string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); FormattableString sqlq = $""" @@ -243,9 +265,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE EXISTS ( SELECT 1 FROM Servicio_Propiedad sp2 @@ -253,50 +275,53 @@ public class RepositorioPropiedades: RepositorioBase { WHERE sp2.idPropiedad = p.id AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) ) - GROUP BY p.id + GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); - return ret; - } - 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, - p.iddivisa as Iddivisa - FROM Propiedades p - JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id - WHERE p.canthabitaciones = {cantidadHabitaciones} - GROUP BY p.id - """; - - var ret = Context.Database.SqlQuery(sqlq); + var ret = Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorTipo(int tipoPropiedad) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id - WHERE p.idtipropiedad = {tipoPropiedad} - GROUP BY p.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id + WHERE p.canthabitaciones = {cantidadHabitaciones} + GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); - return ret; + + var ret = Context.Database.SqlQuery(sqlq); + return ret; } - public IQueryable ObtenerPropiedesPorHabitaciones_Servicios(int cantidadHabitaciones, string servicios) { + 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, + p.iddivisa as Iddivisa + FROM Propiedades p + JOIN EstadoPropiedad ep ON p.idestado = 1 + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id + WHERE p.idtipropiedad = {tipoPropiedad} + GROUP BY p.id + """; + + var ret = Context.Database.SqlQuery(sqlq); + return ret; + } + + public IQueryable ObtenerPropiedesPorHabitaciones_Servicios(int cantidadHabitaciones, string servicios) + { 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, @@ -304,9 +329,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {cantidadHabitaciones} AND EXISTS ( SELECT 1 @@ -317,12 +342,13 @@ public class RepositorioPropiedades: RepositorioBase { ) GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); - return ret; + + var ret = Context.Database.SqlQuery(sqlq); + return ret; } - public IQueryable ObtenerPropiedesPorTipo_Servicios(int tipoPropiedad, string servicios) { + public IQueryable ObtenerPropiedesPorTipo_Servicios(int tipoPropiedad, string servicios) + { 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, @@ -330,9 +356,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.idtipropiedad = {tipoPropiedad} AND EXISTS ( SELECT 1 @@ -343,119 +369,130 @@ public class RepositorioPropiedades: RepositorioBase { ) GROUP BY p.id """; - - var ret = Context.Database.SqlQuery(sqlq); - return ret; + + var ret = Context.Database.SqlQuery(sqlq); + return ret; } - public bool BajaPropiedades(string email) { + public bool BajaPropiedades(string email) + { var con = Context; - try { - IQueryable listprop = con.Propiedades.Where(x=>x.DnipropietarioNavigation.Email == email); - foreach (var item in listprop) { + try + { + IQueryable listprop = con.Propiedades.Where(x => x.DnipropietarioNavigation.Email == email); + foreach (var item in listprop) + { item.Idestado = 3; } - } catch { + } + catch + { return false; } return Guardar(con); } - public IQueryable ListarPropiedadesPorPagina(int pag) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = 1 - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id - GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id + GROUP BY p.id + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Context.Database.SqlQuery(sqlq); + + var ret = Context.Database.SqlQuery(sqlq); return ret; } ///////////////ADMIN - public IQueryable ListarPropiedadesPorPaginaAdmin(int pag) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id - GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id + GROUP BY p.id + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorHabitacionesPaginado(int cantidadHabitaciones, int pag) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {cantidadHabitaciones} - GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + GROUP BY p.id + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorTipoPaginado(int tipoPropiedad, int pag) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.idtipropiedad = {tipoPropiedad} - GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + GROUP BY p.id + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorHabitaciones_TipoPaginado(int cantidadHabitaciones, int tipoPropiedad, int pag) { + 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, p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {cantidadHabitaciones} AND p.idtipropiedad = {tipoPropiedad} - GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + GROUP BY p.id + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorServiciosPaginado(string servicios, int pag) { + public IQueryable ObtenerPropiedesPorServiciosPaginado(string servicios, int pag) + { string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); FormattableString sqlq = $""" @@ -464,9 +501,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE EXISTS ( SELECT 1 FROM Servicio_Propiedad sp2 @@ -474,15 +511,16 @@ public class RepositorioPropiedades: RepositorioBase { WHERE sp2.idPropiedad = p.id AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) ) - GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + GROUP BY p.id + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorHabitaciones_Servicios_Paginado(int cantidadHabitaciones, string servicios, int pag) { + public IQueryable ObtenerPropiedesPorHabitaciones_Servicios_Paginado(int cantidadHabitaciones, string servicios, int pag) + { 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, @@ -490,9 +528,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {cantidadHabitaciones} AND EXISTS ( SELECT 1 @@ -502,14 +540,15 @@ public class RepositorioPropiedades: RepositorioBase { AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) ) GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); - return ret; + + var ret = Singleton.Context.Database.SqlQuery(sqlq); + return ret; } - public IQueryable ObtenerPropiedesPorTipo_Servicios_Paginado(int tipoPropiedad, string servicios, int pag) { + public IQueryable ObtenerPropiedesPorTipo_Servicios_Paginado(int tipoPropiedad, string servicios, int pag) + { 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, @@ -517,9 +556,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.idtipropiedad = {tipoPropiedad} AND EXISTS ( SELECT 1 @@ -529,14 +568,15 @@ public class RepositorioPropiedades: RepositorioBase { AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) ) GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public IQueryable ObtenerPropiedesPorHabitaciones_Tipo_Servicios_Paginado(int habitaciones, int tipo, string servicios, int pag) { + public IQueryable ObtenerPropiedesPorHabitaciones_Tipo_Servicios_Paginado(int habitaciones, int tipo, string servicios, int pag) + { 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, @@ -544,9 +584,9 @@ public class RepositorioPropiedades: RepositorioBase { p.iddivisa as Iddivisa FROM Propiedades p JOIN EstadoPropiedad ep ON p.idestado = ep.id - JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id - JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad - JOIN Servicios s on sp.idServicio =s.id + JOIN TipoPropiedad tp ON p.idtipropiedad = tp.id + JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad + JOIN Servicios s on sp.idServicio =s.id WHERE p.canthabitaciones = {habitaciones} AND p.idtipropiedad = {tipo} AND EXISTS ( SELECT 1 @@ -556,30 +596,35 @@ public class RepositorioPropiedades: RepositorioBase { AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) ) GROUP BY p.id - LIMIT 10 OFFSET {pag*10} + LIMIT 10 OFFSET {pag * 10} """; - - var ret = Singleton.Context.Database.SqlQuery(sqlq); + + var ret = Singleton.Context.Database.SqlQuery(sqlq); return ret; } - public int CuantasPaginas(int estado = 0) { + public int CuantasPaginas(int estado = 0) + { var con = Context; double inter; int ret; - if (estado == 0){ - inter = con.Propiedades.Count()/10.0; - } else { - inter = con.Propiedades.Where(x=>x.Idestado == estado).Count(); + if (estado == 0) + { + inter = con.Propiedades.Count() / 10.0; + } + else + { + inter = con.Propiedades.Where(x => x.Idestado == estado).Count(); } if (inter == 0.00) return 0; ret = (int)Math.Ceiling(inter); - + return ret; } - public int CuantasPaginasBusqueda(int habitaciones, string servicios, int tipoPropiedad, int estado) { + public int CuantasPaginasBusqueda(int habitaciones, string servicios, int tipoPropiedad, int estado) + { int registrosPorPagina = 10; var query = Context.Propiedades @@ -588,19 +633,23 @@ public class RepositorioPropiedades: RepositorioBase { .Include(p => p.IdServicios) .AsQueryable(); - if (habitaciones > 0) { + if (habitaciones > 0) + { query = query.Where(p => p.Canthabitaciones == habitaciones); } - if (estado > 0){ - query = query.Where(x=>x.Idestado == estado); + if (estado > 0) + { + query = query.Where(x => x.Idestado == estado); } - if (tipoPropiedad > 0) { + if (tipoPropiedad > 0) + { query = query.Where(p => p.Idtipropiedad == tipoPropiedad); } - if (!string.IsNullOrWhiteSpace(servicios)) { + if (!string.IsNullOrWhiteSpace(servicios)) + { var listaServicios = servicios.Split(',').Select(s => s.Trim()).ToList(); query = query.Where(p => p.IdServicios.Any(sp => @@ -612,26 +661,29 @@ public class RepositorioPropiedades: RepositorioBase { return (int)Math.Ceiling((double)totalRegistros / registrosPorPagina); } - public IQueryable? ObtenerPropiedadesEnVenta(int pag){ + public IQueryable? ObtenerPropiedadesEnVenta(int pag) + { var con = Context; - var props = con.Propiedades.Include(x=>x.IdServicios).Include(x=>x.IddivisaNavigation) - .Include(c=>c.IdtipropiedadNavigation) - .Where(x=>x.Idestado ==4 && !x.Venta.Any(x=>x.Idestado ==2)) - .Skip(pag*10).Take(10); + var props = con.Propiedades.Include(x => x.IdServicios).Include(x => x.IddivisaNavigation) + .Include(c => c.IdtipropiedadNavigation) + .Where(x => x.Idestado == 4 && !x.Venta.Any(x => x.Idestado == 2)) + .Skip(pag * 10).Take(10); return props; } - public int ObtenerPaginasDePropiedadesEnVenta(){ + public int ObtenerPaginasDePropiedadesEnVenta() + { var con = Context; - var props = con.Propiedades.Where(x=>x.Idestado ==4 && !x.Venta.Any(x=>x.Idestado ==2)).Count(); + var props = con.Propiedades.Where(x => x.Idestado == 4 && !x.Venta.Any(x => x.Idestado == 2)).Count(); return (int)Math.Ceiling((double)props / 10); } - public IQueryable ObtenerPropiedadesAVentaPorDni(long dni) { + 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); + 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 +}