Exemplo n.º 1
0
        public TableColumn GetTableColumn(InputColumn[] inputColumns)
        {
            var tableColumn = new TableColumn();

            this.CopyProperties(tableColumn, true);

            if (ChildColumns != null && ChildColumns.Count > 0)
            {
                tableColumn.ChildColumns = new TableColumns();
                foreach (var childColumn in ChildColumns.OrderBy(c => c.Position).Where(c => c.IsValid))
                {
                    tableColumn.ChildColumns.Add(childColumn.GetTableColumn(inputColumns));
                }
            }

            var topParent = this;

            if (topParent.ParentColumn != null)
            {
                topParent = topParent.ParentColumn;
            }

            tableColumn.ReferenceTable = topParent.DatalinkTableKey.ToString();

            var column = inputColumns?.SingleOrDefault(c => c.Name == tableColumn.Name);

            if (column != null)
            {
                tableColumn.DefaultValue = column.Value;
            }
            return(tableColumn);
        }
Exemplo n.º 2
0
 internal void AddColumn(Column item)
 {
     item.pColumn = this;
     if (ChildColumns == null)
     {
         ChildColumns = new List <Column>();
         ChildColumns.Add(item);
     }
     else
     {
         int ii = ChildColumns.FindIndex(x => x.Index > item.Index);
         if (ii > 0)
         {
             ChildColumns.Insert(ii, item);
         }
         else
         {
             ChildColumns.Add(item);
         }
     }
 }
Exemplo n.º 3
0
 IEnumerable <IExportColumn> IExportColumn.GetChilds()
 {
     return(ChildColumns.Cast <IExportColumn>());
 }