def getReservation(self, sessionId, reservationId):
     self.__db = Database()        
     self.__sessionId = sessionId
     
     if self.__db.connect():
         #check session id and get user id
         auth = AuthenticationManager()
         if auth.isSessionIdCorrect(self.__sessionId):
             self.__userId = auth.getUser().getUserId()
             sql = 'SELECT `username`, `status` FROM `user` WHERE `user_id` = "'+str(self.__userId)+'";'
             self.__db.execute(sql)
             u = self.__db.getCursor().fetchone()
             username = u[0]
             status = u[1]
             
             if str(status).lower() == 'admin':
                 sql = 'SELECT `reservation_id`, `title`, `description`, `start`, `end`, `image_type`, `type` FROM `reservation` WHERE `reservation_id`="'+str(reservationId)+'";'   
                 self.__db.execute(sql)
                 data = self.__db.getCursor().fetchone()
                
                 r = Reservation(data)
                 r.setOwner(username)
                 
                 r.setReservationsSite() 
                 status = r.getReservationsSite()[0].getStatus()
                 return r
                             
     return None
 def getReservations(self, sessionId = None, userId = None, ended = None):
     
     if sessionId == None and userId == None:
         return None
            
     self.__db = Database()        
     self.__sessionId = sessionId
     self.__reservations = []
     
     if self.__db.connect():
         
         try:
             if userId == None:
                 #check session id and get user id
                 auth = AuthenticationManager()
                 if auth.isSessionIdCorrect(self.__sessionId):
                     self.__userId = auth.getUser().getUserId()
             else:
                 self.__userId = userId
                 
             if self.__userId != None:
                 sql = 'SELECT `username` FROM `user` WHERE `user_id`="'+str(self.__userId)+'";'
                 self.__db.execute(sql)
                 username = self.__db.getCursor().fetchone()[0]
                 self.__db.lock({'reservation':'READ'})
                 sql = 'SELECT `reservation_id`, `title`, `description`, `start`, `end`, `image_type`, `type` FROM `reservation` WHERE `user_id`="'+str(self.__userId)+'";'
                 self.__db.execute(sql)
                 data = self.__db.getCursor().fetchall()
                 currentTime = NOW
                 
                 for d in data:
                     end = d[4]
                     diff = currentTime - end
                     
                     r = Reservation(d)
                     r.setOwner(username)
                     
                     r.setReservationsSite() 
                     status = r.getReservationsSite()[0].getStatus()
                     
                     if ended == None:
                         #for pcc
                         self.__reservations.append(r)
                         
                     elif ended:
                         #history (already ended)
                         if diff >= timedelta(hours=0) or status == 'cancel':
                             self.__reservations.append(r)
                     
                     else:
                         #see reservations which havn't ended
                         if diff < timedelta(hours=0) and status != 'cancel':                   
                             self.__reservations.append(r)  
                             
                 self.__db.unlock()
         finally:
             self.__db.close()
             
     return self.__reservations