Пример #1
0
            static void Binder()
            {
                LDControls.ListBoxContent(XListBox, XColumns.ToPrimitiveArray());
                LDControls.ListBoxContent(SchemaListBox, Schema.ToPrimitiveArray());
                LDControls.ListBoxContent(YListBox, YColumns.ToPrimitiveArray());
                List <string> Columns = new List <string>();

                Columns.AddRange(XColumns);
                Columns.AddRange(YColumns);

                Shapes.SetText(Inequality, $"{chart.MinColumns}≤{Columns.Count}≤{chart.MaxColumns}");

                for (int i = 1; i <= LDControls.DataViewRowCount(DataView); i++)
                {
                    string CurrentColumn = LDControls.DataViewGetValue(DataView, i, 1);
                    if (Columns.Contains(CurrentColumn) == false)
                    {
                        LDControls.DataViewDeleteRow(DataView, i);
                    }
                    else
                    {
                        Columns.Remove(CurrentColumn);
                    }
                }

                for (int i = 0; i < Columns.Count; i++)
                {
                    LDControls.DataViewSetRow(DataView, LDControls.DataViewRowCount(DataView) + 1, string.Format("1={0};2=Text;", Columns[i]));
                }
            }
Пример #2
0
        public static void CreateTableHandler()
        {
            int    StackPointer = Stack.Add("UI.CreateTableHandler()");
            string LastButton   = Controls.LastClickedButton;
            string Name         = Controls.GetTextBoxText(_TextBox["Table_Name"]);

            if (LastButton == _Buttons["Commit"])
            {
                if (!string.IsNullOrWhiteSpace(Name))
                {
                    Name = Name.Replace("[", "").Replace("]", "").Replace("\"", "");
                    int Max = LDControls.DataViewRowCount(GlobalStatic.Dataview);

                    StringBuilder Define_SQL = new StringBuilder();
                    Define_SQL.Append("CREATE TABLE \"" + Name + "\"(");
                    for (int i = 1; i <= Max; i++)
                    {
                        Primitive _Data = LDControls.DataViewGetRow(GlobalStatic.Dataview, i);
                        if (!string.IsNullOrWhiteSpace(_Data[1]))
                        {
                            if (_Data[4] == true)
                            {
                                _Data[3] = true;
                            }
                            string Field = ((string)_Data[1]).Replace("[", "").Replace("]", "").Replace("\"", "");
                            Define_SQL.AppendFormat("\"{0}\" {1}", Field, (string)_Data[2]);

                            if (_Data[6] == true)
                            {
                                Define_SQL.Append(" NOT NULL");
                            }
                            if (_Data[3] == true)
                            {
                                Define_SQL.Append(" PRIMARY KEY");
                            }
                            if (_Data[4] == true)
                            {
                                Define_SQL.Append(" AUTOINCREMENT");
                            }
                            if (_Data[5] == true)
                            {
                                Define_SQL.Append(" UNIQUE");
                            }
                            if (i != Max)
                            {
                                Define_SQL.Append(",");
                            }
                            else
                            {
                                Define_SQL.Append(");");
                            }
                        }
                    }

                    if (!string.IsNullOrWhiteSpace(Engines.CurrentDatabase))
                    {
                        string Confirmation = LDDialogs.Confirm("Do you wish to commit the following SQL:\n" + Define_SQL.ToString() + "\n to " + Engines.DB_ShortName[Engines.DB_Name.IndexOf(Engines.CurrentDatabase)], "Commit SQL");
                        if (Confirmation == "Yes")
                        {
                            Engines.CommandSettings CS = new Engines.CommandSettings()
                            {
                                Database    = Engines.CurrentDatabase,
                                SQL         = Define_SQL.ToString(),
                                User        = GlobalStatic.UserName,
                                Explanation = "User Defining a Table" //Localize
                            };
                            Engines.Command(CS);
                        }
                    }
                }
                else
                {
                    GraphicsWindow.ShowMessage("Table Name is not empty, please fill it!", "NAME");
                }
                Stack.Exit(StackPointer);
                return;
            }

            if (LastButton == _Buttons["Exit"])
            {
                Controls.ButtonClicked -= CreateTableHandler;
                Controls.ButtonClicked += Events.BC;
                ClearWindow();
                DisplayResults();
                ShowDisplayResults();
                MainMenu();
                //Events.MC("View");
                Stack.Exit(StackPointer);
                return;
            }


            Stack.Exit(StackPointer);
        }
Пример #3
0
            static void Handler()
            {
                string        LastListBox = LDControls.LastListBox;
                string        LCB         = Controls.LastClickedButton;
                int           Node        = LDControls.ListBoxGetSelected(LastListBox) - 1;
                List <string> CurrentList = null;
                string        Item        = null;

                if (LastListBox == SchemaListBox)
                {
                    CurrentList = Schema;
                }
                else if (LastListBox == XListBox)
                {
                    CurrentList = XColumns;
                }
                else if (LastListBox == YListBox)
                {
                    CurrentList = YColumns;
                }

                if (Node >= 0)
                {
                    Item = CurrentList[Node];
                }

                if (LCB == GenerateChartButton)
                {
                    List <string> Columns = new List <string>();
                    Columns.AddRange(XColumns);
                    Columns.AddRange(YColumns);
                    Dictionary <string, string> Types = new Dictionary <string, string>();
                    for (int i = 1; i <= LDControls.DataViewRowCount(DataView); i++)
                    {
                        Types.Add(LDControls.DataViewGetValue(DataView, i, 1), LDControls.DataViewGetValue(DataView, i, 2));
                    }
                    Engines.QuerySettings QS = new Engines.QuerySettings
                    {
                        Database     = Engines.CurrentDatabase,
                        SQL          = Engines.NonSchemaQuery.Last(),
                        FetchRecords = true,
                        User         = GlobalStatic.UserName,
                        Explanation  = "Generating Chart" //TODO Localize
                    };

                    GenerateChart(Columns, Types, Engines.Query(QS));
                    Clear();
                    GraphicsWindow.ShowMessage("Exported Chart!", "Success");
                }
                else if (LCB == Escape)
                {
                    Clear();
                }
                else if (CurrentList?.Count >= Node)
                {
                    try
                    {
                        if (LCB == Left1)
                        {
                            Schema.RemoveAt(Node);
                            XColumns.Add(Item);
                        }
                        else if (LCB == Right1)
                        {
                            XColumns.RemoveAt(Node);
                            Schema.Add(Item);
                        }
                        else if (LCB == Left2)
                        {
                            YColumns.RemoveAt(Node);
                            Schema.Add(Item);
                        }
                        else if (LCB == Right2)
                        {
                            Schema.RemoveAt(Node);
                            YColumns.Add(Item);
                        }
                    }
                    catch (ArgumentOutOfRangeException ex)
                    {
                        Events.LogMessage(ex.Message, Language.Localization["System"]);
                    }
                }

                if (LCB != Escape)
                {
                    Binder();
                    AutoHide();
                }
            }