예제 #1
0
        public Agencia FiltrarAlojamientos(String tipoAlojamiento, String ciudad, String barrio, double precioMin, double precioMax, String estrellas, String personas)
        {
            Agencia alojamientosFiltrados = null;

            switch (tipoAlojamiento)
            {
            case "todos":
                alojamientosFiltrados = this.agencia.GetAllAlojamientos();
                break;

            case "hotel":
                alojamientosFiltrados = this.agencia.GetHoteles();
                break;

            case "cabaña":
                alojamientosFiltrados = this.agencia.GetCabanias();
                break;
            }
            if (alojamientosFiltrados == null)
            {
                return(null);
            }

            if (ciudad != "todas")
            {
                alojamientosFiltrados = alojamientosFiltrados.GetAlojamientosPorCiudad(ciudad);
                if (alojamientosFiltrados == null)
                {
                    return(null);
                }
            }

            if (barrio != "todos")
            {
                alojamientosFiltrados = alojamientosFiltrados.GetAlojamientosPorBarrio(barrio);
                if (alojamientosFiltrados == null)
                {
                    return(null);
                }
            }

            if (precioMin - precioMax != 0)
            {
                alojamientosFiltrados = alojamientosFiltrados.GetAllAlojamientos(precioMin, precioMax);
                if (alojamientosFiltrados == null)
                {
                    return(null);
                }
            }

            if (estrellas != "todas")
            {
                alojamientosFiltrados = alojamientosFiltrados.GetAllAlojamientos(int.Parse(estrellas));
                if (alojamientosFiltrados == null)
                {
                    return(null);
                }
            }

            if (personas != "todas")
            {
                alojamientosFiltrados = alojamientosFiltrados.GetAlojamientosPorCantidadDePersonas(int.Parse(personas));
                if (alojamientosFiltrados == null)
                {
                    return(null);
                }
            }

            return(alojamientosFiltrados);
        }