예제 #1
0
    def Create(name):
        newGroup = Entities.Group()
        newGroup.name = name

        DbConnection.session.add(newGroup)
        DbConnection.session.commit()

        #TODO kéne tudni hogy sikeres volt-e! Commit dob vissza ilyet?
        return True
예제 #2
0
class Group:
    #DB Entity for this wrapper
    internalData = Entities.Group()

    #Returns Id of group.
    def __init__(self, id):
        self.internalData = DbConnection.session.query(Entities.Group).filter(Entities.Group.id == id).first()
        if self.internalData == None:
            raise ValueError
    
    def id(self):
        return self.internalData.id
    
    #Return name of group.
    def name(self):
        return self.internalData.name
    
    #Renames a group if possible. Returns bool.
    def rename(self, name):
        result = False
        validName = len(DbConnection.session.query(Entities.Group).all(Entities.Group.name == name)) == 0
        if validName == True:
            self.internalData.name = name
            DbConnection.session.commit()
            result = True
        return result
    
    #Assign user to this group.
    def assign(self, user):
        user.internalData.Group = self.internalData.id
        DbConnection.session.commit()
    
    #Remove user from this group.    
    def remove(self, user):
        user.internalData.Group = None
        DbConnection.session.commit()
           
    #Create a new user and save it to database.  
    @staticmethod
    def Create(name):
        newGroup = Entities.Group()
        newGroup.name = name

        DbConnection.session.add(newGroup)
        DbConnection.session.commit()

        #TODO kéne tudni hogy sikeres volt-e! Commit dob vissza ilyet?
        return True
    
    @staticmethod
    def Delete(id):
        entity = DbConnection.session.query(Entities.Question).get(id);
        if(entity != None and entity.id != None)
            DbConnection.session.delete(entity)
            DbConnection.session.commit()
    
    #Get all users currently stored in the database. Returns List<User>
    @staticmethod
    def All():
        result = []
        entities = DbConnection.session.query(Entities.Group).all()
        for entity in entities:
            result.append(Group(entity.id))
        return result
    
   #Return a Group with the given name, or Nnone if no such user exists
    @staticmethod
    def ByName(name):
        result = None

        entity = DbConnection.session.query(Entities.Group).filter(Entities.Group.name == name).first()
        if entity != None:
            result = Group(entity.id)
        
        return result