示例#1
0
        public List <CommandResult> REMOVE_SCAFFOLD(IConnectToDB _Connect, string Name, bool PreserveTable, bool PreserveProcedures)
        {
            List <CommandResult> results = new List <CommandResult>();
            CommandResult        _result = new CommandResult();
            ER_DDL ddl = new ER_DDL();

            results.Add(new CommandResult {
                _Response = "--Start Remove Scaffold " + Name + "", _Successful = true
            });

            if (!PreserveProcedures)
            {
                results.AddRange(ddl.DROP_PROCEDURE(_Connect, "SP_I_" + Name + ""));
                results.AddRange(ddl.DROP_PROCEDURE(_Connect, "SP_U_" + Name));
                results.AddRange(ddl.DROP_PROCEDURE(_Connect, "SP_D_" + Name));
                results.AddRange(ddl.DROP_PROCEDURE(_Connect, Name + "O_"));
                results.AddRange(ddl.DROP_PROCEDURE(_Connect, "SP_S_" + Name + "_SEARCH"));
                //results.AddRange(DROP_PROCEDURE(_Connect, Name + "_SEARCH_COUNT"));
            }

            if (!PreserveTable)
            {
                results.AddRange(ddl.DROP_TABLE(_Connect, Name));
            }


            results.Add(new CommandResult {
                _Response = "--End Remove Scaffold " + Name + "", _Successful = true
            });

            return(results);
        }
示例#2
0
        public List <CommandResult> SYNC_SCAFFOLD(IConnectToDB _Connect, string Name, string ScaffoldType, List <ColumnStructure> ColumnsList, bool useIdentityUUID = false, string RootColumn = "", bool sync = false)
        {
            List <CommandResult> HoldResult = new List <CommandResult>();
            ER_DDL      er_ddl = new ER_DDL();
            ER_Generate gen    = new ER_Generate();

            HoldResult.Add(new CommandResult
            {
                _Response   = "--Start Scaffold " + Name + "",
                _Successful = true
            });
            List <string> ColumnsList2 = new List <string>();

            ColumnsList2.Add(Name + "_ID");

            HoldResult.AddRange(ER_DDL._ADD_TABLE(_Connect, Name, ScaffoldType, useIdentityUUID, RootColumn));

            bool tableAlreadyExists = (HoldResult.Exists(x => x._CommandName == "Create Table " + Name && !x._Successful));

            if (tableAlreadyExists && sync == false)
            {
                HoldResult.Add(new CommandResult
                {
                    _Response   = Name + " was already created successfully during installation",
                    _Successful = true
                });
            }
            else
            {
                HoldResult.AddRange(er_ddl.ADD_COLUMNS(_Connect, Name, ColumnsList));
                if (tableAlreadyExists == false)
                {
                    HoldResult.AddRange(er_ddl.ADD_KEY_UNIQUE(_Connect, Name + "_ID", Name, ColumnsList2));
                }
                if (useIdentityUUID || true)
                {
                    List <string> ColumnsListUUID = new List <string>();

                    if (tableAlreadyExists == false)
                    {
                        ColumnsListUUID.Add(Name + "_UUID");
                        HoldResult.AddRange(er_ddl.ADD_KEY_UNIQUE(_Connect, Name + "_UUID", Name, ColumnsListUUID));
                    }
                }

                if (tableAlreadyExists && sync)
                {
                    HoldResult.AddRange(er_ddl.DROP_PROCEDURE(_Connect, "SP_I_" + Name + ""));
                    HoldResult.AddRange(er_ddl.DROP_PROCEDURE(_Connect, "SP_U_" + Name + ""));
                    HoldResult.AddRange(er_ddl.DROP_PROCEDURE(_Connect, "SP_D_" + Name + ""));
                    HoldResult.AddRange(er_ddl.DROP_PROCEDURE(_Connect, "SP_U_MOD_" + Name + ""));
                    HoldResult.AddRange(er_ddl.DROP_PROCEDURE(_Connect, "SP_S_" + Name + "_SEARCH"));
                }
                HoldResult.AddRange(gen.ADD_PROCEDURE_INSERT(_Connect, Name, ""));
                HoldResult.AddRange(ER_Generate.CreateProcedureSearchProcedure(_Connect, "Eminent IT", _Connect.Schema,
                                                                               "",
                                                                               "",
                                                                               new List <CommandResult>(),
                                                                               selectStruct: new SearchProcedureStruct
                {
                    ProcedurePrefix  = "SP_S",
                    GetLatestVersion = true,
                    ProcedureName    = Name + "_SEARCH",
                    SourceName       = Name
                }));

                HoldResult.AddRange(gen.Generate_Update_Procedure_For_Source(_Connect, Name));
                HoldResult.AddRange(gen.ADD_PROCEDURE_UPDATE(_Connect, Name, ""));
                HoldResult.AddRange(gen.ADD_PROCEDURE_DELETE(_Connect, Name, ""));
            }

            HoldResult.Add(new CommandResult
            {
                _Response   = "--EndScaffold " + Name + "",
                _Successful = true
            });

            return(HoldResult);
        }