Esempio n. 1
0
 public InlineInsertGenerator(string tableName, ITableDataSource tableDataSource, List <ColumnDefinition> columnDefinitions, List <ColumnDefinition> sourceOrderedColumnDefinitions)
 {
     this.tableName         = tableName;
     this.tableDataSource   = tableDataSource;
     this.columnDefinitions = columnDefinitions;
     insertColumnNames      = string.Join(",", sourceOrderedColumnDefinitions.Select(col => col.Field.Replace("/", "_")));
 }
Esempio n. 2
0
        public void AddTable(ITableDataSource dataSourceDescriptor, string tableName)
        {
            Check.DoRequireArgumentNotNull(dataSourceDescriptor, nameof(dataSourceDescriptor));
            Check.DoRequireArgumentNotBlank(tableName, nameof(tableName));

            TableDataSourceDescriptors.Add(tableName, dataSourceDescriptor);
        }
Esempio n. 3
0
            private void RemoveTableSourceIfNecessary(ITableDataSource source)
            {
                if (!this.TableManager.Sources.Any(s => s == source))
                {
                    return;
                }

                this.TableManager.RemoveSource(source);
            }
Esempio n. 4
0
        protected void AddInitialTableSource(Solution solution, ITableDataSource source)
        {
            if (solution.ProjectIds.Count == 0)
            {
                return;
            }

            AddTableSource(source);
        }
Esempio n. 5
0
        protected void AddInitialTableSource(Solution solution, ITableDataSource source)
        {
            if (solution.ProjectIds.Count == 0)
            {
                return;
            }

            AddTableSource(source);
        }
Esempio n. 6
0
        public static void Main(string[] args)
        {
            try {
                if (!ReadSettings(args))
                {
                    Console.ReadKey();
                    return;
                }

                string[] tableNames = Parameters.Singleton.Tables;

                /*new[] {
                 * "ce1bp01.2016", "ce1bp01.2017", "ce2bp01.2016", "ce2bp01.2017", "cobk.2016_001", "cobk.2017_001", "coep.2016_001", "coep.2017_001",
                 * "faglflexa.2016_001", "faglflexa.2017_001", "faglflext.2016", "faglflext.2017",
                 * "tvkot", "tvtwt", "tvkbt", "tvgrt", "t171t", "tbrct", "t179t", "t001w", "csks", "cskst", "t001", "t001b", "cska", "csku", "skat",
                 * "cepct", "setheader", "setheadert", "setnode", "setleaf", "fagl_011pc", "fagl_011zc", "fagl_011sc", "fagl_011qt", "aufk", "mara"
                 * };*/
                IOutputWriter writer = new SingleFileWriter(Parameters.Singleton.CreateFileName, Parameters.Singleton.InsertFileName);
                foreach (string tableName in tableNames)
                {
                    Console.WriteLine($"Processing file {tableName}");
                    string tableDefinition = CreateTableDefinition(tableName);
                    string formatFile;
                    string bulkInsert;
                    string create;
                    using (DataSourceFactory factory = new DataSourceFactory()) {
                        ITableDataSource        source        = factory.GetDataSourceForTable(tableName);
                        List <ColumnDefinition> colDefinition = ColumnDefinitionFactory.GetColumnDefinitionsForTable(tableDefinition)
                                                                .Where(col => source.UsesColumn(col)).ToList();
                        List <ColumnDefinition> sourceOrderedColumnDefinitions = source.Reorder(colDefinition);
                        CreateGenerator         createGenerator = new CreateGenerator(tableDefinition, colDefinition);
                        create = createGenerator.BuildCreate(out formatFile, source.IsQuoteEnclosed);
                        IInsertGenerator insertGenerator = new BulkInsertGenerator(tableDefinition, source, tableName);
                        if (source is ExcelTableDataSource)
                        {
                            insertGenerator = new InlineInsertGenerator(tableDefinition, source, colDefinition, sourceOrderedColumnDefinitions);
                        }
                        bulkInsert = insertGenerator.BuildInsert();
                    }

                    writer.TableName        = tableName;
                    writer.TableDefinition  = tableDefinition;
                    writer.CreateScript     = create;
                    writer.Format           = formatFile;
                    writer.BulkInsertScript = bulkInsert;
                    writer.Write();
                }
                Console.WriteLine("Completed all tables successfully");
            } catch (Exception e) {
                Console.WriteLine(e);
                Console.ReadKey();
            }
        }
Esempio n. 7
0
        public ITableDataSource GetDataSourceForTable(string tableName)
        {
            ITableDataSource result = null;

            result = TryLoadTextFile(tableName);

            if (result == null)
            {
                result = TryLoadExcelFile(tableName);
            }

            if (result == null)
            {
                throw new ArgumentException($"Cannot find any file for table {tableName}");
            }

            return(result);
        }
Esempio n. 8
0
        public static DataTable ExtractTable(ITableDataSource dataSource, IEnumerable data)
        {
            var result            = new DataTable();
            var columnDescriptors = dataSource.AllColumns.ToArray();

            foreach (var sourceColumn in columnDescriptors)
            {
                result.Columns.Add(sourceColumn.Name, sourceColumn.DataType);
            }

            foreach (var dataItem in data)
            {
                var row = result.NewRow();

                for (var columnIndex = 0; columnIndex < columnDescriptors.Length; ++columnIndex)
                {
                    row[columnIndex] = columnDescriptors[columnIndex].GetValue(dataItem) ?? DBNull.Value;
                }
            }

            return(result);
        }
Esempio n. 9
0
 protected void AddTableSource(ITableDataSource source)
 {
     this.TableManager.AddSource(source, Columns);
 }
Esempio n. 10
0
 protected void AddTableSource(ITableDataSource source)
 {
     this.TableManager.AddSource(source, Columns);
 }
Esempio n. 11
0
 public BulkInsertGenerator(string tableName, ITableDataSource tableDataSource, string importName)
 {
     this.tableName       = tableName;
     this.tableDataSource = tableDataSource;
     this.importName      = importName;
 }
        private void RemoveTableSourceIfNecessary(ITableDataSource source)
        {
            if (!this.TableManager.Sources.Any(s => s == source))
            {
                return;
            }

            this.TableManager.RemoveSource(source);
        }
Esempio n. 13
0
        public TableAdapter(ITableDataSource dataSource, EditorWindow window, int verticalDividerPos = 0)
        {
            mDataSource             = dataSource;
            mWindow                 = window;
            VerticalDividerPosition = verticalDividerPos;

            RectOffset margin  = new RectOffset(4, 4, 4, 4);
            RectOffset padding = new RectOffset(3, 3, 3, 3);

            GUIStyle gs = null;

            LockedHeaderStyle     = new GUIStyle(EditorStyles.label);
            LockedCellStyle       = new GUIStyle(EditorStyles.textField);
            ScrollableHeaderStyle = new GUIStyle(EditorStyles.label);
            ScrollableCellStyle   = new GUIStyle(EditorStyles.textField);
            NewDataCellStyle      = new GUIStyle(EditorStyles.textField);
            PlaceHolderTextStyle  = new GUIStyle(EditorStyles.textField);
            ButtonStyle           = new GUIStyle("button");

            // NAME, DESCRIPTION, etc.
            gs           = LockedHeaderStyle;
            gs.fontStyle = FontStyle.Bold;
            gs.alignment = TextAnchor.MiddleCenter;
            gs.margin    = margin;
            gs.padding   = padding;

            gs           = LockedCellStyle;
            gs.margin    = margin;
            gs.padding   = padding;
            gs.alignment = TextAnchor.MiddleLeft;

            // All custom fields
            gs           = ScrollableHeaderStyle;
            gs.fontStyle = FontStyle.Bold;
            gs.alignment = TextAnchor.MiddleCenter;
            gs.margin    = margin;
            gs.padding   = padding;

            gs           = ScrollableCellStyle;
            gs.margin    = margin;
            gs.padding   = padding;
            gs.alignment = TextAnchor.MiddleRight;

            // New entry fields
            gs           = NewDataCellStyle;
            gs.margin    = margin;
            gs.padding   = padding;
            gs.alignment = TextAnchor.MiddleRight;

            gs           = PlaceHolderTextStyle;
            gs.margin    = margin;
            gs.padding   = padding;
            gs.alignment = TextAnchor.MiddleRight;
            gs.fontStyle = FontStyle.Italic;

            gs         = ButtonStyle;
            gs.padding = padding;
            gs.margin  = margin;

            // Init context menu
            contextMenu = new GenericMenu();
            contextMenu.AddItem(new GUIContent("Remove Field"), false, ContextMenuRemoveField);
        }