示例#1
0
        /// <summary>
        /// Busca las reservaciones de habitaciones de un usuario mediando el DAO de reservaciones de habitaciones
        /// </summary>
        public void Execute()
        {
            DAOFactory          factory            = DAOFactory.GetFactory(DAOFactory.Type.Postgres);
            IReservationRoomDAO reservationRoomDao = factory.GetReservationRoomDAO();

            _result = reservationRoomDao.GetAllByUserId(_id);
            if (!_result.Any())
            {
                throw new UserDoesntHaveReservationsException();
            }
        }
示例#2
0
        /// <summary>
        ///     Metodo para listar hoteles por Location.
        /// </summary>
        /// <param name="city">ID del Location de donde se quiere conocer sus hoteles</param>
        /// <returns>
        ///     Lista de hoteles ubicados en la ciudad recibida, si no hay hoteles en la ciudad, la lista
        ///     estaria vacia
        /// </returns>
        /// <exception cref="DatabaseException">
        ///     Lanzada si ocurre un fallo al ejecutar la funcion en la bse de
        ///     datos
        /// </exception>
        public List <Hotel> GetHotelsByCity(int city)
        {
            var table     = PgConnection.Instance.ExecuteFunction(SP_SELECT_HOTEL_BY_CITY, city);
            var hotelList = new List <Hotel>();

            DAOFactory          factory            = DAOFactory.GetFactory(DAOFactory.Type.Postgres);
            IReservationRoomDAO reservationRoomDao = factory.GetReservationRoomDAO();

            for (var i = 0; i < table.Rows.Count; i++)
            {
                var hotel = ExtractHotelFromRow(table.Rows[i]);
                hotel.AvailableRooms =
                    reservationRoomDao.GetAvailableRoomReservations(hotel.Id);
                hotelList.Add(hotel);
            }

            return(hotelList);
        }