예제 #1
0
        private void AddManifestTableAction(string tableName)
        {
            Actions actions = new Actions();
            CreateTableAction tableAction = new CreateTableAction();
            tableAction.TableName = tableName;
            tableAction.Caption = "Create Table " + tableName;

            foreach (ISlxDataColumn column in actions.GetDataColumns(tableAction.TableName))
            {
                CreateFieldAction fieldAction = new CreateFieldAction();
                fieldAction.TableName = column.TableName;
                fieldAction.FieldName = column.ColumnName;
                fieldAction.Caption = string.Format("Create Field {0}.{1}", column.TableName, column.ColumnName);
                fieldAction.InstallOptions = BundleItemOptions.SkipItemAndChildren;
                fieldAction.Parent = tableAction;
                tableAction.Children.Add(fieldAction);
            }

            foreach (ISlxIndex index in actions.GetIndices(tableAction.TableName))
            {
                CreateIndexAction indexAction = new CreateIndexAction();
                indexAction.TableName = tableAction.TableName;
                indexAction.IndexName = index.IndexName;
                indexAction.Caption = string.Format("Create Index {0}.{1}", tableAction.TableName, index.IndexName);
                indexAction.InstallOptions = BundleItemOptions.SkipItemAndChildren;
                indexAction.Parent = tableAction;
                tableAction.Children.Add(indexAction);
            }

            AddManifestAction(tableAction);
        }