Files
AlquilaFacil/Aspnet/Strategy/BusquedaAdmin/AdminBusquedaContext.cs
2025-01-03 21:41:50 -03:00

29 lines
1.0 KiB
C#

namespace AlquilaFacil.StrategyBusquedaAdmin;
public class AdminBusquedaContext
{
private static readonly AdminBusquedaContext singleton = new();
public static AdminBusquedaContext Singleton {get { return singleton; } }
private readonly Dictionary<string, IAdminBusquedaStrategy> _estrategias;
public AdminBusquedaContext()
{
_estrategias = new Dictionary<string, IAdminBusquedaStrategy>
{
{ "000", new BusquedaSinParametros() },
{ "100", new BusquedaPorHabitaciones() },
{ "010", new BusquedaPorTipo() },
{ "001", new BusquedaPorServicios() },
{ "110", new BusquedaPorHabitacionesTipo() },
{ "101", new BusquedaPorHabitacionesServicios() },
{ "011", new BusquedaTipoServicios() },
{ "111", new BusquedaFull() }
};
}
public IAdminBusquedaStrategy ObtenerEstrategia(string clave)
{
return _estrategias.ContainsKey(clave) ? _estrategias[clave] : new BusquedaSinParametros();
}
}