コード例 #1
0
        public static List <EDDTable> createColumns(TSF_EA.Model model, List <DataItem> dataItems, GlossaryManagerSettings settings)
        {
            //get the columns based on the given data items
            var    guidString    = string.Join(",", dataItems.Select(x => "'" + x.GUID + "'"));
            string sqlGetColumns = @"select a.[ea_guid] from(t_attribute a
                                    inner join[t_attributetag] tv on(tv.[ElementID] = a.[ID]
                                                                      and tv.[Property] = 'EDD::dataitem'))
                                    where tv.VALUE in (" + guidString + ")";
            List <TSF_EA.Attribute> attributes = model.getAttributesByQuery(sqlGetColumns);
            var tables = new Dictionary <string, EDDTable>();

            foreach (var attribute in attributes)
            {
                var classElement = attribute.owner as TSF_EA.Class;
                if (classElement != null)
                {
                    //for each attribute create the column
                    var dbColumn = DB_EA.DatabaseFactory.createColumn(attribute);
                    if (dbColumn != null)
                    {
                        EDDTable ownerTable = tables.ContainsKey(classElement.uniqueID) ?
                                              tables[classElement.uniqueID]
                                              : new EDDTable((DB_EA.Table)dbColumn.ownerTable, settings);
                        var newColumn = new EDDColumn(dbColumn, ownerTable, settings);
                        ownerTable.addColumn(newColumn);
                        tables[ownerTable.uniqueID] = ownerTable;
                    }
                }
            }
            //return colums
            return(tables.Values.ToList());
        }
コード例 #2
0
 public EDDColumn addNewColumn(string name)
 {
     var newWrappedColumn = this.wrappedTable.addNewColumn(name);
     var newColumn = new EDDColumn(newWrappedColumn, this, this.settings);
     this.addColumn(newColumn);
     return newColumn;
 }
コード例 #3
0
 private void showColumns(List <DataItem> dataItems, Domain domain)
 {
     if (!dataItems.Any())
     {
         //call default method if no data items given
         showColumns();
     }
     else
     {
         //create the columns based on the DataItems shown in the GUI
         var columns = EDDColumn.createColumns(this.model, dataItems, this.settings);
         this.mainControl.setColumns(columns, domain);
     }
 }
コード例 #4
0
 internal IEnumerable <EDDTable> getLinkedColumns()
 {
     return(EDDColumn.createColumns(this.origin.EAModel, new List <DataItem> {
         this
     }, this.settings));
 }
コード例 #5
0
 public void addColumn(EDDColumn column)
 {
     this.columns.Add(column);
 }