This commit is contained in:
2025-01-05 15:59:38 -03:00
parent 2fa110bb89
commit 28b0a6b785
6 changed files with 311 additions and 2 deletions

View File

@@ -106,4 +106,44 @@ public class AdminController: ControllerBase
var ret = RepositorioUsuarios.Singleton.BajaCliente(Dni);
return Ok(ret);
}
[HttpDelete("api/admin/propiedad")]
public IActionResult BajaPropiedad([FromHeader(Name = "Auth")] string Auth, int id = 0) {
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 10);
if (validacion1 == false) return Unauthorized();
if (id <= 0) return BadRequest(new { message = "Falto indicar id Propiedad"});
var ret = RepositorioPropiedades.Singleton.BajaPropiedad(id);
return ret ?
Ok(new {message = "Se cambio el estado de la propiedad"}): BadRequest(new { message = "No se pudo dar de baja"});
}
[HttpGet("api/admin/busqueda/paginada")]
public IActionResult FiltroPropiedadesPaginado([FromHeader(Name = "Auth")]string Auth, int cantidadHabitaciones = 0, int tipoPropiedad = 0, [FromQuery]string servicios = "", int pag = 1) {
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 10);
if (validacion1 == false) return Unauthorized();
IQueryable<PropiedadesAdmin>? props = null;
pag -= 1;
var clave = $"{(cantidadHabitaciones != 0 ? "1" : "0")}{(tipoPropiedad != 0 ? "1" : "0")}{(!string.IsNullOrEmpty(servicios) ? "1" : "0")}";
var gen = AdminBusquedaContext.Singleton;
var estrategia = gen.ObtenerEstrategia(clave);
props = estrategia.Filtrar(servicios, cantidadHabitaciones, tipoPropiedad, pag);
return Ok(props);
}
[HttpGet("api/admin/busqueda/cantPag")]
public IActionResult CantidadPaginas([FromHeader(Name = "Auth")]string Auth, int cantidadHabitaciones = 0, int tipoPropiedad = 0, [FromQuery]string servicios = "") {
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 10);
if (validacion1 == false) return Unauthorized();
int ret = RepositorioPropiedades.Singleton.CuantasPaginasBusqueda(cantidadHabitaciones, servicios, tipoPropiedad, 0);
return Ok(new { message = ret});
}
}

View File

@@ -35,4 +35,15 @@ public class BusquedaController: ControllerBase {
return Ok(props);
}
[HttpGet("api/busqueda/cantPag")]
public IActionResult GetCantPag([FromHeader(Name = "Auth")]string Auth, int cantidadHabitaciones = 0, int tipoPropiedad = 0, [FromQuery]string servicios = "") {
if (String.IsNullOrEmpty(Auth)) return Unauthorized();
var validacion1 = RepositorioPermisos.Singleton.CheckPermisos(Auth, 3);
if (validacion1 == false) return Unauthorized();
int ret = RepositorioPropiedades.Singleton.CuantasPaginasBusqueda(cantidadHabitaciones, servicios, tipoPropiedad, 1);
return Ok(new { message = ret});
}
}