/**
  * Gets all associated RoleModuleAuthorizations as an array of RoleModuleAuthorization objects
  * @param QQClause[] $objOptionalClauses additional optional QQClause objects for this query
  * @return RoleModuleAuthorization[]
  */
 public function GetRoleModuleAuthorizationArray($objOptionalClauses = null)
 {
     if (is_null($this->intAuthorizationLevelId)) {
         return array();
     }
     try {
         return RoleModuleAuthorization::LoadArrayByAuthorizationLevelId($this->intAuthorizationLevelId, $objOptionalClauses);
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
 }
    /**
     * Deletes all associated RoleModuleAuthorizations
     * @return void
     */
    public function DeleteAllRoleModuleAuthorizations()
    {
        if (is_null($this->intAuthorizationLevelId)) {
            throw new QUndefinedPrimaryKeyException('Unable to call UnassociateRoleModuleAuthorization on this unsaved AuthorizationLevel.');
        }
        // Get the Database Object for this Class
        $objDatabase = AuthorizationLevel::GetDatabase();
        // Journaling
        if ($objDatabase->JournalingDatabase) {
            foreach (RoleModuleAuthorization::LoadArrayByAuthorizationLevelId($this->intAuthorizationLevelId) as $objRoleModuleAuthorization) {
                $objRoleModuleAuthorization->Journal('DELETE');
            }
        }
        // Perform the SQL Query
        $objDatabase->NonQuery('
				DELETE FROM
					`role_module_authorization`
				WHERE
					`authorization_level_id` = ' . $objDatabase->SqlVariable($this->intAuthorizationLevelId) . '
			');
    }