//TODO: context really needed in every table (I think not then remove later) // this should be available fro all tables of the same diagram without taking care if new or altered /* public TableModel (string name, DatabaseConnectionContext context, ISchemaProvider schemaProvider) { /*tableName = name; tableContext = context; tableSchemaProvider = schemaProvider; tableSchema = tableSchemaProvider.CreateTableSchema (name); alteredTable=false; newTable=false; Initialize (); //TODO: delete this only for test purpose indexes.Add (new Index ("DummyIndex2")); triggers.Add (new Trigger ("DummyTrigger1")); } */ public TableModel(string name, DatabaseConnectionContext context, ISchemaProvider schemaProvider, bool create) { //TableSchema newSchema; modelTableName = name; //TODO: remove this attribute use table model newTable = create; alteredTable = false; tableContext = context; tableSchemaProvider = schemaProvider; tableSchema = schemaProvider.CreateTableSchema (name); Initialize (); //Add a first column if (create) { ColumnSchema columnSchema = new ColumnSchema (tableSchemaProvider, tableSchema, "newColumn"); if (storeTypes.Count > 0) { columnSchema.DataTypeName = storeTypes.Keys[0]; columns.Add (new ColumnFigure (columnSchema, storeTypes, null)); tableSchema.Columns.Add (columnSchema); } else { throw new NotImplementedException (); } } /*ColumnSchema column = new ColumnSchema (schemaProvider, tableSchema, name);*/ //TODO: delete this only for test purpose indexes.Add (new Index ("NotImplementedYet")); triggers.Add (new Trigger ("NotImplementedYet")); System.Console.WriteLine ("Tiene Xs: " + tableSchema.Columns.Count); System.Console.WriteLine (schemaProvider.GetTableCreateStatement (tableSchema)); }