Format code with proper spacing and brackets

This commit is contained in:
2025-05-05 22:45:45 -03:00
parent fddafd5234
commit f7d52041ba

View File

@@ -8,9 +8,11 @@ using Microsoft.Identity.Client;
using Modelo; using Modelo;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> { public class RepositorioPropiedades : RepositorioBase<RepositorioPropiedades>
{
public IQueryable<PropiedadesDto> ListarPropiedades(){ public IQueryable<PropiedadesDto> ListarPropiedades()
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -27,18 +29,21 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public Propiedade? ObtenerPropiedadPorId(int Id) { public Propiedade? ObtenerPropiedadPorId(int Id)
{
var con = Context; var con = Context;
Propiedade? prop = con.Propiedades.Include(x=>x.DnipropietarioNavigation).FirstOrDefault(x=>x.Id == Id); Propiedade? prop = con.Propiedades.Include(x => x.DnipropietarioNavigation).FirstOrDefault(x => x.Id == Id);
if (prop == null || prop.Id == 0) { if (prop == null || prop.Id == 0)
{
return null; return null;
} }
return prop; return prop;
} }
public bool AñadirPropiedad(Propiedade? prop) { public bool AñadirPropiedad(Propiedade? prop)
{
if (prop == null) return false; if (prop == null) return false;
var con = Context; var con = Context;
@@ -62,17 +67,18 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
new MySqlParameter("@p_letra", prop.Letra), new MySqlParameter("@p_letra", prop.Letra),
new MySqlParameter("@p_dni_propietario", prop.Dnipropietario), new MySqlParameter("@p_dni_propietario", prop.Dnipropietario),
new MySqlParameter("@p_id_tipo_propiedad", prop.Idtipropiedad), 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), new MySqlParameter("@iddivisa", prop.Iddivisa),
filasInsertadasParam 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; 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; if (propi == null) return false;
@@ -85,8 +91,9 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
propi.Iddivisa = prop.Iddivisa; propi.Iddivisa = prop.Iddivisa;
propi.IdServicios.Clear(); propi.IdServicios.Clear();
foreach(Servicio ser in prop.IdServicios) { foreach (Servicio ser in prop.IdServicios)
var servi = con.Servicios.FirstOrDefault(x=>x.Id == ser.Id); {
var servi = con.Servicios.FirstOrDefault(x => x.Id == ser.Id);
if (servi == null) return false; if (servi == null) return false;
propi.IdServicios.Add(servi); propi.IdServicios.Add(servi);
} }
@@ -94,7 +101,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return Guardar(con); return Guardar(con);
} }
public IQueryable<PropiedadesDto> ObtenerPropiedadesPorEmail(string email) { public IQueryable<PropiedadesDto> ObtenerPropiedadesPorEmail(string email)
{
FormattableString sqlq = $""" 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 Iddivisa p.iddivisa as Iddivisa
@@ -111,7 +119,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedadesDeBajaPorEmail(string email) { public IQueryable<PropiedadesDto> ObtenerPropiedadesDeBajaPorEmail(string email)
{
FormattableString sqlq = $""" 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 Iddivisa p.iddivisa as Iddivisa
@@ -128,12 +137,14 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public bool AñadirServicioAPropiedad(int idprop, List<int> idserv){ public bool AñadirServicioAPropiedad(int idprop, List<int> idserv)
{
var con = Context; var con = Context;
Propiedade? prop = con.Propiedades.Find(idprop); Propiedade? prop = con.Propiedades.Find(idprop);
if (prop == null) return false; if (prop == null) return false;
foreach (int id in idserv) { foreach (int id in idserv)
{
Servicio? servicio = con.Servicios.Find(id); Servicio? servicio = con.Servicios.Find(id);
if (servicio == null) return false; if (servicio == null) return false;
@@ -143,17 +154,21 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return Guardar(con); return Guardar(con);
} }
public bool BajaPropiedad(int id, Cliente? cli) { public bool BajaPropiedad(int id, Cliente? cli)
{
if (cli == null) return false; if (cli == null) return false;
var con = Context; 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 == null) return false;
if (prop.Dnipropietario != cli.Dni) return false; if (prop.Dnipropietario != cli.Dni) return false;
if(prop.Idestado == 1){ if (prop.Idestado == 1)
{
prop.Idestado = 3; prop.Idestado = 3;
}else{ }
else
{
prop.Idestado = 1; prop.Idestado = 1;
} }
GenerarLog(con, cli.Dni, $"Baja propiedad: {prop.Id}"); GenerarLog(con, cli.Dni, $"Baja propiedad: {prop.Id}");
@@ -161,28 +176,32 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
} }
public bool BajaPropiedad(int id, long dni) { public bool BajaPropiedad(int id, long dni)
{
var con = Context; var con = Context;
Propiedade? prop = con.Propiedades.FirstOrDefault(x=>x.Id == id); Propiedade? prop = con.Propiedades.FirstOrDefault(x => x.Id == id);
if (prop == null||prop.Dnipropietario == 0) return false; if (prop == null || prop.Dnipropietario == 0) return false;
prop.Idestado = prop.Idestado == 3 ? 1 : 3; prop.Idestado = prop.Idestado == 3 ? 1 : 3;
GenerarLog(con, dni, $"Baja propiedad: {prop.Id}"); GenerarLog(con, dni, $"Baja propiedad: {prop.Id}");
return Guardar(con); return Guardar(con);
} }
public bool BajaServiciosAPropiedad(int idprop, List<int> idserv, long dni) { public bool BajaServiciosAPropiedad(int idprop, List<int> idserv, long dni)
{
var con = Context; 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; if (prop == null) return false;
foreach (int id in idserv) { foreach (int id in idserv)
{
Servicio? servicio = con.Servicios.Find(id); Servicio? servicio = con.Servicios.Find(id);
if (servicio == null) return false; if (servicio == null) return false;
if (prop.IdServicios.Contains(servicio)){ if (prop.IdServicios.Contains(servicio))
{
prop.IdServicios.Remove(servicio); prop.IdServicios.Remove(servicio);
} }
} }
@@ -190,7 +209,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return Guardar(con); return Guardar(con);
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones_Tipo_Servicios(int habitaciones, int tipo, string servicios) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones_Tipo_Servicios(int habitaciones, int tipo, string servicios)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
@@ -216,7 +236,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones_Tipo(int cantidadHabitaciones, int tipoPropiedad) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones_Tipo(int cantidadHabitaciones, int tipoPropiedad)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -234,7 +255,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorServicios(string servicios) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorServicios(string servicios)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
@@ -260,7 +282,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones(int cantidadHabitaciones) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones(int cantidadHabitaciones)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -278,7 +301,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorTipo(int tipoPropiedad) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorTipo(int tipoPropiedad)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -296,7 +320,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones_Servicios(int cantidadHabitaciones, string servicios) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorHabitaciones_Servicios(int cantidadHabitaciones, string servicios)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
@@ -322,7 +347,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public IQueryable<PropiedadesDto> ObtenerPropiedesPorTipo_Servicios(int tipoPropiedad, string servicios) { public IQueryable<PropiedadesDto> ObtenerPropiedesPorTipo_Servicios(int tipoPropiedad, string servicios)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
@@ -348,20 +374,26 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; return ret;
} }
public bool BajaPropiedades(string email) { public bool BajaPropiedades(string email)
{
var con = Context; var con = Context;
try { try
IQueryable<Propiedade> listprop = con.Propiedades.Where(x=>x.DnipropietarioNavigation.Email == email); {
foreach (var item in listprop) { IQueryable<Propiedade> listprop = con.Propiedades.Where(x => x.DnipropietarioNavigation.Email == email);
foreach (var item in listprop)
{
item.Idestado = 3; item.Idestado = 3;
} }
} catch { }
catch
{
return false; return false;
} }
return Guardar(con); return Guardar(con);
} }
public IQueryable<PropiedadesDto> ListarPropiedadesPorPagina(int pag) { public IQueryable<PropiedadesDto> ListarPropiedadesPorPagina(int pag)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -372,14 +404,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad
JOIN Servicios s on sp.idServicio =s.id JOIN Servicios s on sp.idServicio =s.id
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Context.Database.SqlQuery<PropiedadesDto>(sqlq); var ret = Context.Database.SqlQuery<PropiedadesDto>(sqlq);
return ret; return ret;
} }
///////////////ADMIN ///////////////ADMIN
public IQueryable<PropiedadesAdmin> ListarPropiedadesPorPaginaAdmin(int pag) { public IQueryable<PropiedadesAdmin> ListarPropiedadesPorPaginaAdmin(int pag)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -390,7 +423,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad JOIN Servicio_Propiedad sp on p.id =sp.idPropiedad
JOIN Servicios s on sp.idServicio =s.id JOIN Servicios s on sp.idServicio =s.id
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
@@ -398,7 +431,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitacionesPaginado(int cantidadHabitaciones, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitacionesPaginado(int cantidadHabitaciones, int pag)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -410,14 +444,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
JOIN Servicios s on sp.idServicio =s.id JOIN Servicios s on sp.idServicio =s.id
WHERE p.canthabitaciones = {cantidadHabitaciones} WHERE p.canthabitaciones = {cantidadHabitaciones}
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorTipoPaginado(int tipoPropiedad, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorTipoPaginado(int tipoPropiedad, int pag)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -429,14 +464,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
JOIN Servicios s on sp.idServicio =s.id JOIN Servicios s on sp.idServicio =s.id
WHERE p.idtipropiedad = {tipoPropiedad} WHERE p.idtipropiedad = {tipoPropiedad}
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitaciones_TipoPaginado(int cantidadHabitaciones, int tipoPropiedad, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitaciones_TipoPaginado(int cantidadHabitaciones, int tipoPropiedad, int pag)
{
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, 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,
@@ -448,14 +484,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
JOIN Servicios s on sp.idServicio =s.id JOIN Servicios s on sp.idServicio =s.id
WHERE p.canthabitaciones = {cantidadHabitaciones} AND p.idtipropiedad = {tipoPropiedad} WHERE p.canthabitaciones = {cantidadHabitaciones} AND p.idtipropiedad = {tipoPropiedad}
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorServiciosPaginado(string servicios, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorServiciosPaginado(string servicios, int pag)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
@@ -475,14 +512,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) AND FIND_IN_SET(s2.descripcion, {serviciosEscapados})
) )
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitaciones_Servicios_Paginado(int cantidadHabitaciones, string servicios, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitaciones_Servicios_Paginado(int cantidadHabitaciones, string servicios, int pag)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
@@ -502,14 +540,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) AND FIND_IN_SET(s2.descripcion, {serviciosEscapados})
) )
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorTipo_Servicios_Paginado(int tipoPropiedad, string servicios, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorTipo_Servicios_Paginado(int tipoPropiedad, string servicios, int pag)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
@@ -529,14 +568,15 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) AND FIND_IN_SET(s2.descripcion, {serviciosEscapados})
) )
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitaciones_Tipo_Servicios_Paginado(int habitaciones, int tipo, string servicios, int pag) { public IQueryable<PropiedadesAdmin> ObtenerPropiedesPorHabitaciones_Tipo_Servicios_Paginado(int habitaciones, int tipo, string servicios, int pag)
{
string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim())); string serviciosEscapados = string.Join(",", servicios.Split(',').Select(s => s.Trim()));
FormattableString sqlq = $""" FormattableString sqlq = $"""
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo, SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
@@ -556,22 +596,26 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
AND FIND_IN_SET(s2.descripcion, {serviciosEscapados}) AND FIND_IN_SET(s2.descripcion, {serviciosEscapados})
) )
GROUP BY p.id GROUP BY p.id
LIMIT 10 OFFSET {pag*10} LIMIT 10 OFFSET {pag * 10}
"""; """;
var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq); var ret = Singleton.Context.Database.SqlQuery<PropiedadesAdmin>(sqlq);
return ret; return ret;
} }
public int CuantasPaginas(int estado = 0) { public int CuantasPaginas(int estado = 0)
{
var con = Context; var con = Context;
double inter; double inter;
int ret; int ret;
if (estado == 0){ if (estado == 0)
inter = con.Propiedades.Count()/10.0; {
} else { inter = con.Propiedades.Count() / 10.0;
inter = con.Propiedades.Where(x=>x.Idestado == estado).Count(); }
else
{
inter = con.Propiedades.Where(x => x.Idestado == estado).Count();
} }
if (inter == 0.00) return 0; if (inter == 0.00) return 0;
ret = (int)Math.Ceiling(inter); ret = (int)Math.Ceiling(inter);
@@ -579,7 +623,8 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return ret; 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; int registrosPorPagina = 10;
var query = Context.Propiedades var query = Context.Propiedades
@@ -588,19 +633,23 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
.Include(p => p.IdServicios) .Include(p => p.IdServicios)
.AsQueryable(); .AsQueryable();
if (habitaciones > 0) { if (habitaciones > 0)
{
query = query.Where(p => p.Canthabitaciones == habitaciones); query = query.Where(p => p.Canthabitaciones == habitaciones);
} }
if (estado > 0){ if (estado > 0)
query = query.Where(x=>x.Idestado == estado); {
query = query.Where(x => x.Idestado == estado);
} }
if (tipoPropiedad > 0) { if (tipoPropiedad > 0)
{
query = query.Where(p => p.Idtipropiedad == tipoPropiedad); query = query.Where(p => p.Idtipropiedad == tipoPropiedad);
} }
if (!string.IsNullOrWhiteSpace(servicios)) { if (!string.IsNullOrWhiteSpace(servicios))
{
var listaServicios = servicios.Split(',').Select(s => s.Trim()).ToList(); var listaServicios = servicios.Split(',').Select(s => s.Trim()).ToList();
query = query.Where(p => query = query.Where(p =>
p.IdServicios.Any(sp => p.IdServicios.Any(sp =>
@@ -612,26 +661,29 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
return (int)Math.Ceiling((double)totalRegistros / registrosPorPagina); return (int)Math.Ceiling((double)totalRegistros / registrosPorPagina);
} }
public IQueryable<Propiedade>? ObtenerPropiedadesEnVenta(int pag){ public IQueryable<Propiedade>? ObtenerPropiedadesEnVenta(int pag)
{
var con = Context; var con = Context;
var props = con.Propiedades.Include(x=>x.IdServicios).Include(x=>x.IddivisaNavigation) var props = con.Propiedades.Include(x => x.IdServicios).Include(x => x.IddivisaNavigation)
.Include(c=>c.IdtipropiedadNavigation) .Include(c => c.IdtipropiedadNavigation)
.Where(x=>x.Idestado ==4 && !x.Venta.Any(x=>x.Idestado ==2)) .Where(x => x.Idestado == 4 && !x.Venta.Any(x => x.Idestado == 2))
.Skip(pag*10).Take(10); .Skip(pag * 10).Take(10);
return props; return props;
} }
public int ObtenerPaginasDePropiedadesEnVenta(){ public int ObtenerPaginasDePropiedadesEnVenta()
{
var con = Context; 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); return (int)Math.Ceiling((double)props / 10);
} }
public IQueryable<Propiedade> ObtenerPropiedadesAVentaPorDni(long dni) { public IQueryable<Propiedade> ObtenerPropiedadesAVentaPorDni(long dni)
{
var con = Context; var con = Context;
var l = con.Propiedades.Include(x=>x.IdServicios).Include(x=>x.IdtipropiedadNavigation) var l = con.Propiedades.Include(x => x.IdServicios).Include(x => x.IdtipropiedadNavigation)
.Where(x=>x.Dnipropietario == dni && x.Idestado ==4); .Where(x => x.Dnipropietario == dni && x.Idestado == 4);
return l; return l;
} }
} }