public function AddTableToDataModel($modelName, $schemaName, $tableName, $connectionId, $view)
 {
     $userSettings = self::GetSettings();
     $userDataModel = null;
     foreach ($userSettings->DataModels as $item) {
         if ($item->Name == $modelName) {
             $userDataModel = $item;
         }
     }
     if ($userDataModel == null) {
         throw new Exception("Data model with name '" . $modelName . "' not found");
     }
     $table = null;
     foreach ($userDataModel->Tables as $tableInfo) {
         if ($tableName == $tableInfo->Name && $connectionId == $tableInfo->DatabaseConnectionInfoId) {
             $table = $tableInfo;
         }
     }
     if ($table != null) {
         throw new Exception("Data model name '" . $modelName . "' already contains table '" . $tableName . "'");
     }
     $userDataModel->Tables[] = new UserTableInfo($schemaName, $tableName, $view, $connectionId);
     $userClassInfo = new UserClassInfo();
     $userClassInfo->DatabaseConnectionInfoId = $connectionId;
     $userClassInfo->TableName = $tableName;
     $userClassInfo->Name = DefaultNameMapper::getSafeName($tableName);
     $userDataModel->UserClasses[] = $userClassInfo;
     $tableMeta = self::GetTableMeta($connectionId, $schemaName, $tableName);
     foreach ($tableMeta->Columns as $columnInfo) {
         if (!DefaultNameMapper::isNameSafe($columnInfo->name)) {
             $userClassFieldInfo = new UserClassFieldInfo();
             $userClassFieldInfo->ColumnName = $columnInfo->name;
             $userClassFieldInfo->Name = DefaultNameMapper::getSafeName($columnInfo->name);
             $userClassInfo->Fields[] = $userClassFieldInfo;
         }
     }
     foreach ($tableMeta->Relations as $relationInfo) {
         if (!DefaultNameMapper::isNameSafe($relationInfo->RelatedTableName)) {
             $userRelationInfo = new UserRelationInfo();
             $userRelationInfo->Alias = "Related" . DefaultNameMapper::getSafeName($relationInfo->RelatedTableName);
             $userRelationInfo->ForeignKey = $relationInfo->ForeignKey;
             $userRelationInfo->Type = $relationInfo->Type;
             $userClassInfo->Relations[] = $userRelationInfo;
         }
     }
     $userSettings->Save(Paths::getWDMConfigPath());
     return $userClassInfo;
 }
 public function getStoredProcedureName($name)
 {
     return DefaultNameMapper::getSafeName($name);
 }