Beispiel #1
0
        //--------------------------------------------------------------------

        /**
         * Retourne la liste de chambre en fonction des paramètres:
         * Type de chambre, Date_start, date_end
         */
        public List <bedroom> GetBedrooms(DateTime date_start, DateTime date_end, bedroom_type b_type = null)
        {
            // Récupération de toutes les chambres disponibles en fonction du type et
            List <int> temp_bedroom_number = entities.Database.SqlQuery <int>("SELECT bedroom_number " +
                                                                              "FROM bedroom " +
                                                                              "WHERE bedroom_number NOT IN(SELECT br.bedroom_number " +
                                                                              "FROM bedroom br " +
                                                                              "LEFT JOIN booking bk ON br.bedroom_number = bk.bedroom_number " +
                                                                              "WHERE bk.booking_start >= '" + date_start.ToString("yyyy-MM-dd") + "' " +
                                                                              "AND bk.booking_end <= '" + date_end.ToString("yyyy-MM-dd") + "' " +
                                                                              "ORDER BY bedroom_number ASC) ORDER BY bedroom_number").ToList <int>();

            /**
             * Filtre les chambres disponibles en fonction des dates en paramètre.
             * temp_bedroom_number.Contains( x.bedroom_number ) représente le where IN
             */
            var query = entities.bedroom.Select(x => x).Where(x => temp_bedroom_number.Contains(x.bedroom_number));

            /**
             * Filtre le type de chambre
             * Si le type de chambre est différent de null alors on récupère
             * toutes les chambres de ce type
             */
            if (b_type != null)
            {
                query = query.Where(x => x.bedroom_type.bedroom_type1 == b_type.bedroom_type1);
            }

            return(query.ToList());
        }
Beispiel #2
0
        //--------------------------------------------------------------------

        /**
         * Récupère toutes les chambres selons les filtres
         */
        public List <bedroom> GetBedrooms(string statut = "", int floor = 0, bedroom_type b_type = null)
        {
            // Récupère toutes les chambres
            var query = entities.bedroom.Select(x => x);

            // Si un statut est mis dans les filtres de recherche
            if (!statut.Equals(""))
            {
                query = query.Where(x => x.bedroom_status.Equals(statut));
            }

            // Si un étage est mis dans les filtres de recherche
            if (floor > 0)
            {
                query = query.Where(x => x.bedroom_floor == floor);
            }

            // Si un type de chambre est mis dans les filtres
            if (b_type != null)
            {
                query = query.Where(x => x.bedroom_type.bedroom_type1 == b_type.bedroom_type1);
            }
            return(query.ToList());
        }