paginacion arreglada
This commit is contained in:
@@ -391,7 +391,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
}
|
||||
|
||||
|
||||
public IQueryable<PropiedadesAdmin>? ObtenerPropiedesPorHabitacionesPaginado(int cantidadHabitaciones, int pag) {
|
||||
public IQueryable<PropiedadesAdmin> 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
|
||||
@@ -409,7 +409,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
return ret;
|
||||
}
|
||||
|
||||
public IQueryable<PropiedadesAdmin>? ObtenerPropiedesPorTipoPaginado(int tipoPropiedad, int pag) {
|
||||
public IQueryable<PropiedadesAdmin> 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
|
||||
@@ -427,7 +427,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
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 = $"""
|
||||
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
|
||||
@@ -445,7 +445,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
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()));
|
||||
|
||||
FormattableString sqlq = $"""
|
||||
@@ -471,7 +471,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
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()));
|
||||
FormattableString sqlq = $"""
|
||||
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
|
||||
@@ -497,7 +497,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
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()));
|
||||
FormattableString sqlq = $"""
|
||||
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
|
||||
@@ -523,7 +523,7 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
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()));
|
||||
FormattableString sqlq = $"""
|
||||
SELECT DISTINCT p.id, p.ubicacion, p.canthabitaciones, p.piso, p.letra, tp.descripcion AS Tipo,
|
||||
@@ -564,4 +564,33 @@ public class RepositorioPropiedades: RepositorioBase<RepositorioPropiedades> {
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public int CuantasPaginasBusqueda(int habitaciones, string servicios, int tipoPropiedad) {
|
||||
int registrosPorPagina = 10;
|
||||
|
||||
var query = Context.Propiedades
|
||||
.Include(p => p.IdestadoNavigation)
|
||||
.Include(p => p.IdtipropiedadNavigation)
|
||||
.Include(p => p.IdServicios)
|
||||
.AsQueryable();
|
||||
|
||||
if (habitaciones > 0) {
|
||||
query = query.Where(p => p.Canthabitaciones == habitaciones);
|
||||
}
|
||||
|
||||
if (tipoPropiedad > 0) {
|
||||
query = query.Where(p => p.Idtipropiedad == tipoPropiedad);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(servicios)) {
|
||||
var listaServicios = servicios.Split(',').Select(s => s.Trim()).ToList();
|
||||
query = query.Where(p =>
|
||||
p.IdServicios.Any(sp =>
|
||||
listaServicios.Contains(sp.Descripcion)));
|
||||
}
|
||||
|
||||
int totalRegistros = query.Distinct().Count();
|
||||
|
||||
return (int)Math.Ceiling((double)totalRegistros / registrosPorPagina);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user