/// <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(); } }
/// <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); }