public MenuItemProcedure(DBProcedure proc) { this.procedure = proc; Text = procedure.ToString(); Image = (Image)Locale.GetImage("plugin"); #if GTK DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.ImageAndText; Overflow = System.Windows.Forms.ToolStripItemOverflow.AsNeeded; #endif }
private void ProcedurePropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName.Equals(nameof(DBProcedure.Source), StringComparison.OrdinalIgnoreCase)) { if (!change && source.Text != procedure.Source) { source.Text = procedure.Source; } } else if (e.PropertyName.Equals(nameof(DBProcedure.Name), StringComparison.OrdinalIgnoreCase)) { Name = GetName(procedure); } else { Text = procedure.ToString(); } toolSave.Sensitive = !procedure.IsSynchronized; }
public static bool Initialize(DBProcedure procedure, Dictionary <string, object> existingParam) { var window = new FormParam(); window.Label.Text = procedure.ToString(); var table = new DBTable <DBItem>(procedure.Name + "Param") { Schema = procedure.Schema, BlockSize = 1 }; foreach (var param in procedure.Parameters) { if (existingParam.ContainsKey(param.Name.ToString())) { continue; } DBColumn col = new DBColumn { Name = param.Name != null && param.Name.Length > 0 ? param.Name : "NewColumn", Table = table }; if (param.Column != null) { if (param.Column.IsPrimaryKey) { col.ReferenceTable = param.Column.Table; } if (param.Column.IsReference) { col.ReferenceTable = param.Column.ReferenceTable; } } col.DataType = param.DataType; table.Columns.Add(col); } var row = table.NewItem(); window.propertyes.FieldSource = row; window.propertyes.ResetFields(); window.propertyes.EditState = EditListState.Edit; window.ButtonAcceptClick += (s, e) => { foreach (var column in table.Columns) { if (row[column] == DBNull.Value && MessageDialog.AskQuestion("Параметры", "Не все Параметры были указаны, продолжить?", Command.No, Command.Yes) == Command.No) { return; } existingParam.Add(column.Name, row[column]); } window.Hide(); }; window.Show(null, Point.Zero); //p.Dispose(); //ts.Dispose(); return(true); }