private void btn_apply_Click(object sender, EventArgs e)
 {
     foreach (var c in DBObject.Connection.Project.Commands.Where(c => c.State == DBCommand.CommandState.New).ToList())
     {
         DBProjectManager.Execute(c);
     }
 }
Example #2
0
 private void btn_apply_Click(object sender, EventArgs e)
 {
     foreach (var c in Role.Connection.Project.Commands)
     {
         DBProjectManager.Execute(c);
     }
 }
Example #3
0
        private void toolStripButton_save_all_Click(object sender, EventArgs e)
        {
            listBox_messages.Items.Clear();

            var project = (tree_existing.Nodes[0].Tag as DBProject);

            foreach (var c in project.Connections)
            {
                c.sql_messages.Clear();
            }

            var pending_commands      = project.Commands.Where(x => x.State == DBCommand.CommandState.New).ToList();
            var executed_successfully = new List <DBCommand>();

            foreach (var cmd in pending_commands)
            {
                DBProjectManager.Execute(cmd);
                listBox_messages.Items.AddRange(cmd.Owner.Connection.sql_messages.ToArray());

                if (cmd.State == DBCommand.CommandState.Executed)
                {
                    executed_successfully.Add(cmd);
                }
            }

            foreach (var executed_cmd in executed_successfully)
            {
                project.Commands.Remove(executed_cmd);
            }
        }
Example #4
0
        private void toolStripButton_save_Click(object sender, EventArgs e)
        {
            if (tree_existing.Nodes[0] != null)
            {
                if (propertyGrid1.SelectedObject is DBObject)
                {
                    var current_db_obj = propertyGrid1.Tag as DBObject;

                    var pending_commands = (tree_existing.Nodes[0].Tag as DBProject).Commands.Where(x => x.State == DBCommand.CommandState.New);

                    var this_object_pending_commands = pending_commands.Where(x => x.Owner == propertyGrid1.SelectedObject as DBObject).ToList();

                    //var executed_successfully = new List<DBCommand>();

                    foreach (var c in this_object_pending_commands)
                    {
                        DBProjectManager.Execute(c);
                        //if(cmd.State == DBCommand.CommandState.Executed)
                        //{
                        //    executed_successfully.Add(cmd);
                        //}
                    }

                    //foreach(var executed_cmd in executed_successfully)
                    //{
                    //    this_object_pending_commands.Remove(executed_cmd);
                    //}
                }
            }
        }
 public static void CreateGenericTrigger(DBTable t)
 {
     var sql = string.Format("exec engine.secure_CreateGenericTrigger '{0}', '{1}'", t.Schema.Name, t.Name);
     var db_cmd = new DBCommand { Owner = t, Sql = sql, Description = "Create Generic Trigger" };
     t.Connection.Project.Commands.Add(db_cmd);
     DBProjectManager.Execute(db_cmd);
     MessageBox.Show("Generic Trigger Created.");
 }
 public static void RefreshCache(DBTable t)
 {
     var sql = string.Format("exec engine.extensions_CreateExtension '{0}_{1}'", t.Schema.Name, t.Name);
     var db_cmd = new DBCommand { Owner = t, Sql = sql, Description = "Refresh Cache" };
     t.Connection.Project.Commands.Add(db_cmd);
     DBProjectManager.Execute(db_cmd);
     MessageBox.Show("Extension Created.");
 }
 private void btn_ok_Click(object sender, EventArgs e)
 {
     //execute the changes
     foreach (var c in InitialRole.Connection.Project.Commands.Where(c => c.State == DBCommand.CommandState.New).ToList())
     {
         DBProjectManager.Execute(c);
     }
 }
Example #8
0
        public static void EnableAllTriggers(DB db)
        {
            var sql = string.Format("use {0}; enable trigger all on database;", db.FullName);

            DBProjectManager.Execute(new DBCommand {
                Owner = db, Sql = sql, Description = "Enable database triggers"
            });

            //MessageBox.Show("Database Triggers Enabled Successfully.");
        }
Example #9
0
        private void NewLookupTableFormClosing(object sender, FormClosingEventArgs e)
        {
            var form = (sender as InputForm);

            if (form.DialogResult == DialogResult.Cancel)
            {
                return;
            }

            var lookup_table = form.Object as DBTable;

            var sql = lookup_table.GetSQL();

            lookup_table.Connection.Project.Commands.Add(new DBCommand {
                Sql = sql, Owner = lookup_table, Description = "Create New Lookup Table"
            });



            //set custom properties
            lookup_table.RowIconClass = lookup_table.Columns.Where(c => c.UserDataType == "iconclass").FirstOrDefault();
            lookup_table.RowColor     = lookup_table.Columns.Where(c => c.UserDataType == "color").FirstOrDefault();
            lookup_table.DefaultSort  = lookup_table.Columns.Where(c => c.UserDataType == "displayorder").FirstOrDefault();

            //pk
            var pk_col = lookup_table.Columns.Where(c => c.Name == "id").FirstOrDefault();

            pk_col.IsPrimaryKey = true;

            //execute the commands..
            foreach (var c in lookup_table.Connection.Project.Commands.Where(c => c.Owner == lookup_table).ToList())
            {
                DBProjectManager.Execute(c);
            }
            DBTableManager.Refresh(lookup_table);
            //show the designer..
            CreateNewForm(lookup_table);
        }
        public void CreateLookupTable()
        {
            var owner = (Column.Parent as DBTable);
            var sql   = string.Format("if object_id('[{0}].[{1}]') is null select * into [{0}].[{1}] from ({2}) t ", Column.Owner.Schema.Name, LookupTableName, GetPreview());

            var cmd_create_table = new DBCommand {
                Owner = owner, Sql = sql, Description = "Create Lookup Table"
            };

            owner.Connection.Project.Commands.Add(cmd_create_table);
            DBProjectManager.Execute(cmd_create_table);

            //refresh so now the schema has the table..
            DBSchemaManager.Refresh(Column.Schema);

            var lookup_table = Column.Schema.Tables.FirstOrDefault(t => t.Name == LookupTableName);

            DBTableManager.Refresh(lookup_table);
            lookup_table.Action = DB.DBAction.Alter;

            var pk_col = lookup_table.Columns.FirstOrDefault(x => x.Name == "id");

            pk_col.Action   = DB.DBAction.Alter;
            pk_col.Nullable = false;
            var cmd_not_null = pk_col.Connection.Project.Commands.FirstOrDefault(c => c.Owner == pk_col);

            if (cmd_not_null != null)
            {
                DBProjectManager.Execute(cmd_not_null);
            }

            //create the PK
            lookup_table.PrimaryKey = new DBPKConstraint
            {
                Action     = DB.DBAction.Add,
                Parent     = lookup_table,
                Schema     = lookup_table.Schema,
                Connection = lookup_table.Connection,
                Name       = "PK_" + LookupTableName
            };

            lookup_table.PrimaryKey.Columns.Add(pk_col);


            var cmd = new DBCommand {
                Owner = lookup_table, Sql = lookup_table.PrimaryKey.GetSQL(), Description = "Create PK"
            };

            lookup_table.Connection.Project.Commands.Add(cmd);
            DBProjectManager.Execute(cmd);

            //table.Refresh();

            //reference by FK
            var fk = new DBFKConstraint
            {
                Name            = "FK_" + owner.Schema.Name + "_" + owner.Name + "_" + Column.Name + "_ref_" + lookup_table.Schema.Name + "_" + lookup_table.Name + "_id",
                Action          = DB.DBAction.Add,
                Parent          = Column.Parent,
                Schema          = Column.Owner.Schema,
                Column          = Column,
                Connection      = Column.Connection,
                OnUpdate        = DBFKConstraint.CascadeModes.Cascade,
                ReferenceColumn = pk_col
            };


            owner.ForeignKeys.Add(fk);

            var cmd_fk = new DBCommand {
                Owner = owner, Sql = fk.GetSQL(), Description = "Create FK"
            };

            lookup_table.Connection.Project.Commands.Add(cmd_fk);
            DBProjectManager.Execute(cmd_fk);
        }
 private void toolStripButton_execute_Click(object sender, EventArgs e)
 {
     Command.Sql = syntaxEditor1.Text;
     DBProjectManager.Execute(Command);
     this.Close();
 }