Beispiel #1
0
        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
        }
Beispiel #2
0
 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;
 }
Beispiel #3
0
        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);
        }