public function GenerateDaoClasses() {
        $tableList = $this->app()->dal()->getDalInstance()->GetListOfTablesInDatabase();
        if ($tableList > 0) {
            foreach ($tableList as $table) {
                $tableName = $table[0];
                $tableColumnNames = $this->app()->dal()->getDalInstance()->GetTableColumnNames($tableName);
                $tableColumnMetadata = $this->app()->dal()->getDalInstance()->GetTableColumnsMeta($tableName, $tableColumnNames);
                $dao = new \Puzzlout\Framework\Dal\Generator\DaoClassGenerator($tableName);
                $dao->BuildClassHeader($tableName);
                $dao->BuildClassBody($tableColumnMetadata);
                $dao->ClassEnd();
            }
        } else {
            throw new \Exception("No tables in database!", 0, null);
        }
    }