Files
AlquilaFacil/Aspnet/Strategy/Busqueda/BusquedaContext.cs

29 lines
1008 B
C#

namespace AlquilaFacil.StrategyBusqueda;
public class BusquedaContext
{
private static readonly BusquedaContext singleton = new();
public static BusquedaContext Singleton {get { return singleton; } }
private readonly Dictionary<string, IBusquedaStrategy> _estrategias;
public BusquedaContext()
{
_estrategias = new Dictionary<string, IBusquedaStrategy>
{
{ "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 IBusquedaStrategy ObtenerEstrategia(string clave)
{
return _estrategias.ContainsKey(clave) ? _estrategias[clave] : new BusquedaSinParametros();
}
}