using Entidades.Dto; using Modelo; namespace AlquilaFacil.StrategyBusqueda; public class BusquedaSinParametros : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ListarPropiedades(); } } public class BusquedaPorHabitaciones : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorHabitaciones(cantidadHabitaciones); } } public class BusquedaPorTipo : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorTipo(tipoPropiedad); } } public class BusquedaPorServicios : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorServicios(servicios); } } public class BusquedaPorHabitacionesTipo : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorHabitaciones_Tipo(cantidadHabitaciones, tipoPropiedad); } } public class BusquedaPorHabitacionesServicios : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorHabitaciones_Servicios(cantidadHabitaciones, servicios); } } public class BusquedaTipoServicios : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorTipo_Servicios(tipoPropiedad, servicios); } } public class BusquedaFull : IBusquedaStrategy { public IQueryable Filtrar(string servicios, int cantidadHabitaciones, int tipoPropiedad) { return RepositorioPropiedades.Singleton.ObtenerPropiedesPorHabitaciones_Tipo_Servicios(cantidadHabitaciones, tipoPropiedad, servicios); } }