Пример #1
0
        public List <CommandResult> ADD_SCAFFOLD_DATA(IConnectToDB _Connect, string TableName)
        {
            List <CommandResult> HoldResult = new List <CommandResult>();
            CommandResult        _result    = new CommandResult();

            Tools.Box   er_tools = new Tools.Box();
            ER_Generate gen      = new ER_Generate();

            string newTableName = er_tools.MaxNameLength(TableName, (128 - 16));

            string Char_Table    = newTableName + "_Dat_Char";
            string Date_Table    = newTableName + "_Dat_Date";
            string Number_Table  = newTableName + "_Dat_Numb";
            string File_Table    = newTableName + "_Dat_File";
            string Options_Table = newTableName + "_Dat_Opt";
            string Decimal_Table = newTableName + "_Dat_Deci";

            string Stages_Name = TableName + "_Stages";

            HoldResult.Add(new CommandResult
            {
                _Successful = true,
                _Response   = "---Start Data Scaffold " + TableName + "",
                _EndTime    = DateTime.Now
            });

            List <ColumnStructure> ColumnsList = new List <ColumnStructure>();

            string[] tablesList = { Char_Table, Number_Table, Date_Table, File_Table, Options_Table, Decimal_Table };

            foreach (var t in tablesList)
            {
                HoldResult.AddRange(ER_DDL._ADD_TABLE(_Connect, t, "Application Data"));
            }

            //ColumnsList.Add(new ColumnStructure { _Name = "RENDITION", _DataType = "bigint", _DefaultValue = "0", _IsNull = false });
            HoldResult.AddRange(ER_DDL._ADD_TABLE_CHAR(_Connect, TableName, Char_Table, ColumnsList));

            //ColumnsList.Add(new ColumnStructure { _Name = "RENDITION", _DataType = "bigint", _DefaultValue = "0", _IsNull = false });
            HoldResult.AddRange(ER_DDL._ADD_TABLE_NUMB(_Connect, TableName, Number_Table, ColumnsList));

            //ColumnsList.Add(new ColumnStructure { _Name = "RENDITION", _DataType = "bigint", _DefaultValue = "0", _IsNull = false });
            HoldResult.AddRange(ER_DDL._ADD_TABLE_DATE(_Connect, TableName, Date_Table, ColumnsList));

            //ColumnsList.Add(new ColumnStructure { _Name = "RENDITION", _DataType = "bigint", _DefaultValue = "0", _IsNull = false });
            HoldResult.AddRange(ER_DDL._ADD_TABLE_FILE(_Connect, TableName, File_Table, ColumnsList));

            //ColumnsList.Add(new ColumnStructure { _Name = "RENDITION", _DataType = "bigint", _DefaultValue = "0", _IsNull = false });
            //HoldResult.AddRange(ER_DDL._ADD_TABLE_OPT(_Connect, TableName, Options_Table, ColumnsList));

            //ColumnsList.Add(new ColumnStructure { _Name = "RENDITION", _DataType = "bigint", _DefaultValue = "0", _IsNull = false });
            HoldResult.AddRange(ER_DDL._ADD_TABLE_DECIMAL(_Connect, TableName, Decimal_Table, ColumnsList));

            foreach (var t in tablesList)
            {
                ColumnsList.Clear();
                var item = new ColumnStructure
                {
                    _Name         = t + "_UUID",
                    _DefaultValue = "",
                    _IsNull       = false,
                    _DataType     = "Guid" // t != Decimal_Table ? "bigint" : "Money";
                };

                ColumnsList.Add(item);
                HoldResult.AddRange(ER_DDL._ADD_INDEX_NONE_CLUSTERED(_Connect, t + "_CI", t, "TABLE", ColumnsList));
                HoldResult.AddRange(gen.ADD_PROCEDURE_INSERT(_Connect, t, ""));
            }

            HoldResult.Add(new CommandResult
            {
                _Successful = true,
                _Response   = "---End Data Scaffold " + TableName + "",
                _EndTime    = DateTime.Now
            });
            return(HoldResult);
        }