Example #1
0
        public static bool Show(HorizontalAlignment textAlign)
        {
            bool result = false;

            using (var form = new MessageBox("Проверка доступа", 180, 300))
            {
                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new TableLayoutPanel()
                {
                    Name   = "TableLayoutPanel",
                    Dock   = DockStyle.Bottom,
                    Height = 40,
                });


                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new GroupBox()
                {
                    Font = new Font("Times New Roman", 10),
                    Text = "Пароль",
                    Name = "PasswordGroupBox",
                    Dock = DockStyle.Top,
                });

                form.Controls.Find("PasswordGroupBox", true).FirstOrDefault().Controls.Add(new TextBox()
                {
                    Font      = new Font("Times New Roman", 12),
                    Name      = "PasswordTextBox",
                    Dock      = DockStyle.Fill,
                    TextAlign = textAlign,
                });


                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new GroupBox()
                {
                    Font   = new Font("Times New Roman", 10),
                    Text   = "Логин",
                    Name   = "LoginGroupBox",
                    Dock   = DockStyle.Top,
                    Height = 40,
                });

                form.Controls.Find("LoginGroupBox", true).FirstOrDefault().Controls.Add(new TextBox()
                {
                    Font      = new Font("Times New Roman", 12),
                    Name      = "LoginTextBox",
                    Dock      = DockStyle.Fill,
                    TextAlign = textAlign,
                });

                TableLayoutPanel body = (form.Controls.Find("TableLayoutPanel", true).FirstOrDefault() as TableLayoutPanel);
                body.RowStyles.Clear();
                body.ColumnStyles.Clear();
                body.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));

                body.Controls.Add(new Button()
                {
                    Name = "OK",
                    Text = "OK",
                    Dock = DockStyle.Fill,
                }, 1, 0);
                body.Controls.Find("OK", false).FirstOrDefault().Click += (s, e) =>
                {
                    if (Convert.ToInt32(dataBase.ToCount("SELECT COUNT(*) FROM [Login] WHERE [Login] = '" + form.Controls.Find("LoginTextBox", true).FirstOrDefault().Text + "' AND [Password] = '" + form.Controls.Find("PasswordTextBox", true).FirstOrDefault().Text + "' AND [Rank] > 9")) == 0)
                    {
                        result = false;
                    }
                    else
                    {
                        result = true;
                    }

                    form.Dispose();
                };

                body.Controls.Add(new Button()
                {
                    Name = "Cancel",
                    Text = "Отменить",
                    Dock = DockStyle.Fill,
                }, 2, 0);
                body.Controls.Find("Cancel", false).FirstOrDefault().Click += (s, e) =>
                {
                    result = false;
                    form.Dispose();
                };

                Supports.GangeGroup(body);
                form.ShowDialog();

                return(result);
            }
        }
Example #2
0
        private void prepare()
        {
            try
            {
                MaximizedBounds = Screen.FromHandle(Handle).WorkingArea;

                if (Environment.OSVersion.Version.Build < 4000)
                {
                    BackColor = Supports.headBlue;
                }

                bool lite = false;

                if (panel4.BackColor.R < 122)
                {
                    lite = true;
                }
                if (lite)
                {
                    x1 = Resources.x1tw;
                    x2 = Resources.x2tw;
                    x3 = Resources.x3tw;
                    x4 = Resources.x7tw;
                }
                else
                {
                    x1 = Resources.x1tb;
                    x2 = Resources.x2tb;
                    x3 = Resources.x3tb;
                    x4 = Resources.x7tb;
                }

                pictureBox1.Image = x1;
                pictureBox2.Image = x2;
                pictureBox3.Image = x3;

                FormWindowState prevState = WindowState;
                MouseUp += (s, arg) =>
                {
                    if (Location.Y < 0 && Cursor.Position.Y == 0)
                    {
                        WindowState       = FormWindowState.Maximized;
                        pictureBox2.Image = x2;
                        ChangePadd();
                        return;
                    }
                    else if (Location.X < 0 && Cursor.Position.X == 0)
                    {
                        Height = Screen.FromControl(this).Bounds.Height;
                        Width  = Screen.FromControl(this).Bounds.Width / 2;
                    }

                    if (Location.Y < 0)
                    {
                        Location = new Point(Location.X, 0);
                        return;
                    }
                };
                Deactivate += (s, arg) =>
                {
                    BackColor = Color.Gray;
                };
                Activated += (s, arg) =>
                {
                    BackColor = Supports.headBlue;
                };
                Resize += (s, arg) =>
                {
                    if (prevState != WindowState)
                    {
                        prevState = WindowState;
                        ChangePadd();
                        if (WindowState == FormWindowState.Maximized)
                        {
                            pictureBox2.Image = x2;
                        }
                        else
                        {
                            pictureBox2.Image = x4;
                        }
                    }
                };

                pictureBox1.MouseEnter += (s, arg) => pictureBox1.BackColor = Supports.liteTextGray;
                pictureBox1.MouseUp    += (s, arg) => pictureBox1.BackColor = Supports.headGrey;
                pictureBox1.MouseDown  += (s, arg) => pictureBox1.BackColor = Supports.headBlue;
                pictureBox1.MouseLeave += (s, arg) => pictureBox1.BackColor = Supports.headGrey;
                pictureBox1.MouseClick += (s, arg) =>
                {
                    if (MessageBoxTi.Show("Завершение работы", "Точно выйти?") != MessageResult.Yes)
                    {
                        return;
                    }
                    Supports.WorkActivity.Stop();
                    Close();
                };
                pictureBox2.MouseEnter += (s, arg) => pictureBox2.BackColor = Supports.liteTextGray;
                pictureBox2.MouseLeave += (s, arg) => pictureBox2.BackColor = Supports.headGrey;
                pictureBox2.MouseUp    += (s, arg) => pictureBox2.BackColor = Supports.headGrey;
                pictureBox2.MouseDown  += (s, arg) => pictureBox2.BackColor = Supports.headBlue;

                pictureBox2.MouseClick += (s, arg) =>
                {
                    if (WindowState == FormWindowState.Maximized)
                    {
                        WindowState = FormWindowState.Normal;
                    }
                    else
                    {
                        WindowState = FormWindowState.Maximized;
                    }
                };

                pictureBox3.MouseEnter += (s, arg) => pictureBox3.BackColor = Supports.liteTextGray;
                pictureBox3.MouseLeave += (s, arg) => pictureBox3.BackColor = Supports.headGrey;
                pictureBox3.MouseUp    += (s, arg) => pictureBox3.BackColor = Supports.headGrey;
                pictureBox3.MouseDown  += (s, arg) => pictureBox3.BackColor = Supports.headBlue;
                pictureBox3.MouseClick += (s, arg) => WindowState = FormWindowState.Minimized;

                splitContainer1.Visible = (splitContainer1.Panel1.Controls.Count == 0 && splitContainer1.Panel2.Controls.Count == 0 ? false : true);
                splitContainer2.Visible = (splitContainer2.Panel1.Controls.Count == 0 && splitContainer2.Panel2.Controls.Count == 0 ? false : true);
                splitter1.Visible       = (splitContainer1.Panel1.Controls.Count == 0 && splitContainer1.Panel2.Controls.Count == 0 ? false : true);
                splitter2.Visible       = (splitContainer2.Panel1.Controls.Count == 0 && splitContainer2.Panel2.Controls.Count == 0 ? false : true);

                splitContainer1.Panel1.ControlAdded += (s, arg) =>
                {
                    splitContainer1.Panel1Collapsed = false;
                    if (!splitContainer1.Visible)
                    {
                        splitContainer1.Visible = true;
                        splitter1.Visible       = true;
                    }
                };
                splitContainer1.Panel2.ControlAdded += (s, arg) =>
                {
                    splitContainer1.Panel2Collapsed = false;
                    if (!splitContainer1.Visible)
                    {
                        splitContainer1.Visible = true;
                        splitter1.Visible       = true;
                    }
                };
                splitContainer2.Panel1.ControlAdded += (s, arg) =>
                {
                    splitContainer2.Panel1Collapsed = false;
                    if (!splitContainer2.Visible)
                    {
                        splitContainer2.Visible = true;
                        splitter2.Visible       = true;
                    }
                };
                splitContainer2.Panel2.ControlAdded += (s, arg) =>
                {
                    splitContainer2.Panel2Collapsed = false;
                    if (!splitContainer2.Visible)
                    {
                        splitContainer2.Visible = true;
                        splitter2.Visible       = true;
                    }
                };

                splitContainer1.Panel1.ControlRemoved += (s, arg) =>
                {
                    splitContainer1.Panel1Collapsed = (splitContainer1.Panel1.Controls.Count == 0 ? true : false);
                    splitContainer1.Visible         = (splitContainer1.Panel1.Controls.Count == 0 && splitContainer1.Panel2.Controls.Count == 0 ? false : true);
                    splitter1.Visible = (splitContainer1.Panel1.Controls.Count == 0 && splitContainer1.Panel2.Controls.Count == 0 ? false : true);
                };
                splitContainer1.Panel2.ControlRemoved += (s, arg) =>
                {
                    splitContainer1.Panel2Collapsed = (splitContainer1.Panel2.Controls.Count == 0 ? true : false);
                    splitContainer1.Visible         = (splitContainer1.Panel1.Controls.Count == 0 && splitContainer1.Panel2.Controls.Count == 0 ? false : true);
                    splitter1.Visible = (splitContainer1.Panel1.Controls.Count == 0 && splitContainer1.Panel2.Controls.Count == 0 ? false : true);
                };
                splitContainer2.Panel1.ControlRemoved += (s, arg) =>
                {
                    splitContainer2.Panel1Collapsed = (splitContainer2.Panel1.Controls.Count == 0 ? true : false);
                    splitContainer2.Visible         = (splitContainer2.Panel1.Controls.Count == 0 && splitContainer2.Panel2.Controls.Count == 0 ? false : true);
                    splitter2.Visible = (splitContainer2.Panel1.Controls.Count == 0 && splitContainer2.Panel2.Controls.Count == 0 ? false : true);
                };
                splitContainer2.Panel2.ControlRemoved += (s, arg) =>
                {
                    splitContainer2.Panel2Collapsed = (splitContainer2.Panel2.Controls.Count == 0 ? true : false);
                    splitContainer2.Visible         = (splitContainer2.Panel1.Controls.Count == 0 && splitContainer2.Panel2.Controls.Count == 0 ? false : true);
                    splitter2.Visible = (splitContainer2.Panel1.Controls.Count == 0 && splitContainer2.Panel2.Controls.Count == 0 ? false : true);
                };

                FormClosed += (s, args) => dataBase.ToUpdate(userLogin, "Вышел из системы");

                foreach (DataRow st in dataBase.SimpleData("FrequencyBand").Rows)
                {
                    comboBox2.Items.Add(st["Наименование диапазона"]);
                }

                comboBox1.Items.Add("L");
                comboBox1.Items.Add("R");
                comboBox1.Items.Add("V");
                comboBox1.Items.Add("H");

                bool indexChange = false;
                comboBox1.SelectedValueChanged += (s, e) =>
                {
                    if (tabControl1.SelectedTab.GetType() == typeof(Loading) && !indexChange)
                    {
                        if (tabControl1.TabPages.IndexOfKey("WHERE Спутник = \'" + (tabControl1.SelectedTab as Loading).nameISZ + "\' AND Диапазон = \'" + comboBox2.Text + "\' AND Поляризация = \'" + comboBox1.Text + "\'") == -1)
                        {
                            (tabControl1.SelectedTab as Loading).BandAndPolarizationNeedChange(comboBox2.Text, comboBox1.Text);
                        }
                        else
                        {
                            tabControl1.SelectedTab = tabControl1.TabPages["WHERE Спутник = \'" + (tabControl1.SelectedTab as Loading).nameISZ + "\' AND Диапазон = \'" + comboBox2.Text + "\' AND Поляризация = \'" + comboBox1.Text + "\'"];
                        }
                    }
                };
                comboBox2.SelectedValueChanged += (s, e) =>
                {
                    if (tabControl1.SelectedTab.GetType() == typeof(Loading) && !indexChange)
                    {
                        if (tabControl1.TabPages.IndexOfKey("WHERE Спутник = \'" + (tabControl1.SelectedTab as Loading).nameISZ + "\' AND Диапазон = \'" + comboBox2.Text + "\' AND Поляризация = \'" + comboBox1.Text + "\'") == -1)
                        {
                            (tabControl1.SelectedTab as Loading).BandAndPolarizationNeedChange(comboBox2.Text, comboBox1.Text);
                        }
                        else
                        {
                            tabControl1.SelectedTab = tabControl1.TabPages["WHERE Спутник = \'" + (tabControl1.SelectedTab as Loading).nameISZ + "\' AND Диапазон = \'" + comboBox2.Text + "\' AND Поляризация = \'" + comboBox1.Text + "\'"];
                        }
                    }
                };

                tabControl1.SelectedIndexChanged += (s, e) =>
                {
                    if (tabControl1.TabPages.Count == 0)
                    {
                        return;
                    }

                    if (tabControl1.SelectedTab.GetType() == typeof(SatelliteList))
                    {
                        comboBox1.Visible = false;
                        comboBox2.Visible = false;
                    }
                    else if (tabControl1.SelectedTab.GetType() == typeof(Loading))
                    {
                        indexChange       = true;
                        comboBox1.Visible = true;
                        comboBox2.Visible = true;
                        comboBox1.Text    = (tabControl1.SelectedTab as Loading).polarizationISZ;
                        comboBox2.Text    = (tabControl1.SelectedTab as Loading).bandISZ;
                        indexChange       = false;
                    }
                    else
                    {
                        DownSign = null;
                    }
                };
                tabControl1.OnPageClose += (s, e) =>
                {
                    if (tabControl1.TabPages[e.ClosingPageIndex].GetType() == typeof(Loading) && dataBase.dataset.Tables.Contains("Loading " + (tabControl1.TabPages[e.ClosingPageIndex] as Loading).keys))
                    {
                        dataBase.dataset.Tables["Loading " + (tabControl1.TabPages[e.ClosingPageIndex] as Loading).keys].Clear();
                    }
                };

                калькуляторToolStripMenuItem.Click += (s, e) => Process.Start(@"C:\WINDOWS\system32\calc.exe");
                графикToolStripMenuItem.Click      += (s, e) =>
                {
                    tabControl1.TabPages.Add(new Charts("Chart"));

                    tabControl1.SelectedIndex = tabControl1.TabCount - 1;
                };
                headLabel.TextAlign = ContentAlignment.MiddleCenter;
                headLabel.Dock      = DockStyle.Fill;

                if (DateTime.Today.Month == 1 && DateTime.Today.Day < 7 && userDepartment == 2)
                {
                    headLabel.Text = Supports.DeCezarus(dataBase.ToCount("SELECT Content FROM [MainSettings] WHERE [Who] = 'NYCongratulation'").ToString());
                }

                if (DateTime.Today.Month == 5 && DateTime.Today.Day == 9 && userDepartment == 2)
                {
                    headLabel.Text = Supports.DeCezarus(dataBase.ToCount("SELECT Content FROM [MainSettings] WHERE [Who] = '9Congratulation'").ToString());
                }

                if (DateTime.Today.Month == 11 && DateTime.Today.Day == 5 && userDepartment == 2)
                {
                    headLabel.Text = Supports.DeCezarus(dataBase.ToCount("SELECT Content FROM [MainSettings] WHERE [Who] = 'ExpCongratulation'").ToString());
                }
            }
            catch (Exception e)
            {
                MessageBoxTi.Show("Profile.prepare " + e.Message);
            }
        }
Example #3
0
        public static string Show(string headText, string mainText, HorizontalAlignment textAlign)
        {
            string trueHeadText = headText;
            string trueMainText = mainText;

            if (trueHeadText.Length > 75)
            {
                trueHeadText = trueHeadText.Remove(75);
            }
            if (trueMainText.Length > 200)
            {
                trueMainText = trueMainText.Remove(200);
            }

            string result = null;

            using (var form = new MessageBox(trueHeadText))
            {
                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new TableLayoutPanel()
                {
                    Name   = "TableLayoutPanel",
                    Dock   = DockStyle.Bottom,
                    Height = 40,
                });

                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new TextBox()
                {
                    Font      = new Font("Times New Roman", 12),
                    Name      = "BodyTextBox",
                    Dock      = DockStyle.Top,
                    TextAlign = textAlign,
                });

                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new Label()
                {
                    Font        = new Font("Times New Roman", 10),
                    Text        = trueMainText,
                    Name        = "BodyTextBox",
                    Dock        = DockStyle.Top,
                    BorderStyle = BorderStyle.None,
                });

                TableLayoutPanel body = (form.Controls.Find("TableLayoutPanel", true).FirstOrDefault() as TableLayoutPanel);
                body.RowStyles.Clear();
                body.ColumnStyles.Clear();
                body.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));

                body.Controls.Add(new Button()
                {
                    Name = "OK",
                    Text = "OK",
                    Dock = DockStyle.Fill,
                }, 1, 0);
                body.Controls.Find("OK", false).FirstOrDefault().Click += (s, e) =>
                {
                    result = form.Controls.Find("BodyTextBox", true).FirstOrDefault().Text;
                    form.Dispose();
                };

                body.Controls.Add(new Button()
                {
                    Name = "Cancel",
                    Text = "Отменить",
                    Dock = DockStyle.Fill,
                }, 2, 0);
                body.Controls.Find("Cancel", false).FirstOrDefault().Click += (s, e) =>
                {
                    result = "";
                    form.Dispose();
                };

                Supports.GangeGroup(body);
                form.ShowDialog();

                return(result);
            }
        }
Example #4
0
        /// <summary>
        /// Выводит диалоговое окно с кастомными кнопками, при нажатии на любую возвращается соответствующий результат Btn0, Btn1?
        /// </summary>
        /// <param name="headText"></param>
        /// <param name="mainText"></param>
        /// <param name="buttonNames"></param>
        /// <returns></returns>
        public static MessageResult Show(string headText, string mainText, string[] buttonNames)
        {
            string trueHeadText = headText;
            string trueMainText = mainText;

            if (trueHeadText.Length > 75)
            {
                trueHeadText = trueHeadText.Remove(75);
            }
            if (trueMainText.Length > 200)
            {
                trueMainText = trueMainText.Remove(200);
            }

            MessageResult result = MessageResult.None;

            using (var form = new MessageBox(trueHeadText))
            {
                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new TableLayoutPanel()
                {
                    Name   = "TableLayoutPanel",
                    Dock   = DockStyle.Bottom,
                    Height = 80,
                });

                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new Label()
                {
                    Font        = new Font("Times New Roman", 10),
                    Text        = trueMainText,
                    Name        = "BodyTransLabel",
                    Dock        = DockStyle.Top,
                    Padding     = new Padding(4, 6, 0, 0),
                    MaximumSize = new Size(500, 100),
                    Height      = 80,
                    BorderStyle = BorderStyle.None,
                    AutoSize    = true,
                    BackColor   = Supports.liteTextGray,
                    ForeColor   = Supports.textWhite,
                });

                TableLayoutPanel body = (form.Controls.Find("TableLayoutPanel", true).FirstOrDefault() as TableLayoutPanel);
                body.RowStyles.Clear();
                body.ColumnStyles.Clear();
                body.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
                body.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));

                if (buttonNames.Length > 3)
                {
                    int k = 0;
                    for (int i = 0; i < 2; i++)
                    {
                        for (int j = 0; j < 3; j++)
                        {
                            if (k >= buttonNames.Length)
                            {
                                break;
                            }

                            body.Controls.Add(new Button()
                            {
                                Name = buttonNames[k],
                                Text = buttonNames[k],
                                Dock = DockStyle.Fill,
                            }, j, i);

                            body.Controls.Find(buttonNames[k], false).FirstOrDefault().Click += (s, e) =>
                            {
                                result = (MessageResult)buttonNames.Cast <string>().ToList().IndexOf((s as Button).Name);
                                form.Dispose();
                            };
                            k++;
                        }
                    }
                }
                else
                {
                    for (int j = 0; j < 3; j++)
                    {
                        if (j >= buttonNames.Length)
                        {
                            break;
                        }

                        body.Controls.Add(new Button()
                        {
                            Name = buttonNames[j],
                            Text = buttonNames[j],
                            Dock = DockStyle.Fill,
                        }, j, 1);

                        body.Controls.Find(buttonNames[j], false).FirstOrDefault().Click += (s, e) =>
                        {
                            result = (MessageResult)buttonNames.Cast <string>().ToList().IndexOf((s as Button).Name);
                            form.Dispose();
                        };
                    }
                }

                Supports.GangeGroup(body);
                form.ShowDialog();
            }
            return(result);
        }
Example #5
0
        /// <summary>
        /// Выводит окно с тремя кнопками. "Да", "Нет", "Отмена"
        /// </summary>
        /// <param name="headText">
        /// Текст в заголовке
        /// </param>
        /// <param name="mainText">
        /// Уточняющий текст
        /// </param>
        /// <returns>
        /// MessageResult в соответствии с нажатой кнопкой
        /// </returns>
        public static MessageResult Show(string headText, string mainText)
        {
            string trueHeadText = headText;
            string trueMainText = mainText;

            if (trueHeadText.Length > 75)
            {
                trueHeadText = trueHeadText.Remove(75);
            }
            if (trueMainText.Length > 200)
            {
                trueMainText = trueMainText.Remove(200);
            }

            MessageResult result = MessageResult.None;

            using (var form = new MessageBox(trueHeadText))
            {
                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new TableLayoutPanel()
                {
                    Name   = "TableLayoutPanel",
                    Dock   = DockStyle.Bottom,
                    Height = 40,
                });

                form.Controls.Find("Body", false).FirstOrDefault().Controls.Add(new Label()
                {
                    Font        = new Font("Times New Roman", 10),
                    Text        = trueMainText,
                    Name        = "BodyTransLabel",
                    Dock        = DockStyle.Top,
                    Padding     = new Padding(4, 6, 0, 0),
                    MaximumSize = new Size(500, 100),
                    Height      = 80,
                    BorderStyle = BorderStyle.None,
                    AutoSize    = true,
                    BackColor   = Supports.liteTextGray,
                    ForeColor   = Supports.textWhite,
                });

                TableLayoutPanel body = (form.Controls.Find("TableLayoutPanel", true).FirstOrDefault() as TableLayoutPanel);
                body.RowStyles.Clear();
                body.ColumnStyles.Clear();
                body.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));
                body.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33));

                body.Controls.Add(new Button()
                {
                    Name = "Yes",
                    Text = "Да",
                    Dock = DockStyle.Fill,
                }, 0, 0);
                body.Controls.Find("Yes", false).FirstOrDefault().Click += (s, e) =>
                {
                    result = MessageResult.Yes;
                    form.Dispose();
                };

                body.Controls.Add(new Button()
                {
                    Name = "No",
                    Text = "Нет",
                    Dock = DockStyle.Fill,
                }, 1, 0);
                body.Controls.Find("No", false).FirstOrDefault().Click += (s, e) =>
                {
                    result = MessageResult.No;
                    form.Dispose();
                };

                body.Controls.Add(new Button()
                {
                    Name = "Cancel",
                    Text = "Отменить",
                    Dock = DockStyle.Fill,
                }, 2, 0);
                body.Controls.Find("Cancel", false).FirstOrDefault().Click += (s, e) =>
                {
                    result = MessageResult.Cancel;
                    form.Dispose();
                };

                Supports.GangeGroup(body);

                form.ShowDialog();
            }


            return(result);
        }
Example #6
0
        public Panel UserCard(string Login, bool add = false)
        {
            try
            {
                Bitmap    im             = Resources.person;
                string    satellitesType = null;
                string    password       = null;
                string    name           = null;
                string    department     = null;
                int       rank           = -1;
                DataTable occupation     = null;

                if (!add)
                {
                    DataTable person = dataBase.SimpleData("[Login] WHERE [Login].[Login] = '" + Login + "'");
                    occupation     = dataBase.SimpleData("[Appointment] WHERE [Appointment].[Login] = '" + Login + "'");
                    satellitesType = person.Rows[0]["SatellitesType"].ToString();
                    password       = person.Rows[0]["Password"].ToString();
                    name           = person.Rows[0]["Пользователь"].ToString();
                    department     = person.Rows[0]["Department"].ToString();
                    im             = (Bitmap)Image.FromStream(new MemoryStream((byte[])person.Rows[0]["Face"]));
                    rank           = Convert.ToInt32(person.Rows[0]["Rank"]);
                }

                Panel myCard = new Panel()
                {
                    Name      = Login,
                    Width     = 200,
                    Height    = 500,
                    BackColor = Supports.backBlack,
                    Padding   = new Padding(3),
                };

                myCard.Controls.Add(new FlowLayoutPanel()
                {
                    Dock = DockStyle.Fill,

                    BorderStyle = BorderStyle.None,
                    Name        = "FlowLayoutPanel",
                    Width       = 200,
                    Height      = 300,
                    BackColor   = Supports.headGrey,
                });

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new PictureBox()
                {
                    Name     = "Picture",
                    Image    = im,
                    SizeMode = PictureBoxSizeMode.Zoom,
                    Width    = 200,
                    Height   = 100,
                });

                (myCard.Controls.Find("Picture", true).FirstOrDefault() as PictureBox).Click += (s, args) =>
                {
                    OpenFileDialog openFileDialog1 = new OpenFileDialog();
                    openFileDialog1.Filter = "Image files|*.jpeg;*.jpg;*.png;*.gif;*.bmp;*.tiff;*.tif;*.jfif;*.jpe;*.dib;";
                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        (myCard.Controls.Find("Picture", true).FirstOrDefault() as PictureBox).Image = Image.FromStream(openFileDialog1.OpenFile());
                    }
                };

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new GroupBox()
                {
                    Name   = "GroupBoxAppointment",
                    Text   = "Тип спутника",
                    Width  = 188,
                    Height = 40,
                });

                (myCard.Controls.Find("GroupBoxAppointment", true).FirstOrDefault() as GroupBox).Controls.Add(new ComboBox()
                {
                    Name          = "SatellitesTypeComboBox",
                    Dock          = DockStyle.Fill,
                    DropDownStyle = ComboBoxStyle.DropDownList,
                });

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new Panel()
                {
                    Name   = "PanelRankAndDep",
                    Width  = 188,
                    Height = 40,
                });

                (myCard.Controls.Find("PanelRankAndDep", true).FirstOrDefault() as Panel).Controls.Add(new GroupBox()
                {
                    Name  = "GroupBoxDepartment",
                    Text  = "Отдел",
                    Width = 60,
                    Dock  = DockStyle.Left
                });

                (myCard.Controls.Find("PanelRankAndDep", true).FirstOrDefault() as Panel).Controls.Add(new GroupBox()
                {
                    Name  = "GroupBoxRank",
                    Text  = "Звание",
                    Width = 126,
                    Dock  = DockStyle.Right
                });

                (myCard.Controls.Find("GroupBoxDepartment", true).FirstOrDefault() as GroupBox).Controls.Add(new ComboBox()
                {
                    Name          = "DepartmentComboBox",
                    Dock          = DockStyle.Fill,
                    DropDownStyle = ComboBoxStyle.DropDownList,
                });

                (myCard.Controls.Find("GroupBoxRank", true).FirstOrDefault() as GroupBox).Controls.Add(new ComboBox()
                {
                    Name          = "RankComboBox",
                    Dock          = DockStyle.Fill,
                    DropDownStyle = ComboBoxStyle.DropDownList,
                });

                for (var i = 1; i < 9; i++)
                {
                    (myCard.Controls.Find("DepartmentComboBox", true).FirstOrDefault() as ComboBox).Items.Add(i.ToString());
                }

                foreach (var ranks in Enum.GetValues(typeof(Supports.Ranks)))
                {
                    (myCard.Controls.Find("RankComboBox", true).FirstOrDefault() as ComboBox).Items.Add(ranks.ToString());
                }

                if (rank != -1)
                {
                    (myCard.Controls.Find("RankComboBox", true).FirstOrDefault() as ComboBox).SelectedItem = ((Supports.Ranks)rank).ToString();
                }

                if (department != null)
                {
                    (myCard.Controls.Find("DepartmentComboBox", true).FirstOrDefault() as ComboBox).SelectedItem = department;
                }
                else
                {
                    (myCard.Controls.Find("DepartmentComboBox", true).FirstOrDefault() as ComboBox).SelectedItem = 2;
                }

                (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).Items.Add("MIL");
                (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).Items.Add("CIV");
                (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).Items.Add("TWO");

                if (satellitesType != null)
                {
                    (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).SelectedItem = satellitesType;
                }
                else
                {
                    (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).SelectedIndex = 1;
                }

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new GroupBox()
                {
                    Name   = "GroupBoxName",
                    Text   = "Пользователь",
                    Width  = 188,
                    Height = 40,
                });

                (myCard.Controls.Find("GroupBoxName", true).FirstOrDefault() as GroupBox).Controls.Add(new TextBox()
                {
                    Name      = "Name",
                    Text      = name ?? "",
                    Dock      = DockStyle.Fill,
                    MaxLength = 50,
                });

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new GroupBox()
                {
                    Name   = "GroupBoxLogin",
                    Text   = "Логин",
                    Width  = 188,
                    Height = 40,
                });

                (myCard.Controls.Find("GroupBoxLogin", true).FirstOrDefault() as GroupBox).Controls.Add(new TextBox()
                {
                    Name      = "Login",
                    Text      = Login ?? "",
                    Dock      = DockStyle.Fill,
                    Enabled   = false,
                    MaxLength = 15
                });

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new GroupBox()
                {
                    Name   = "GroupBoxPassword",
                    Text   = "Пароль",
                    Width  = 188,
                    Height = 40,
                });

                (myCard.Controls.Find("GroupBoxPassword", true).FirstOrDefault() as GroupBox).Controls.Add(new TextBox()
                {
                    Name         = "Password",
                    Text         = password ?? "",
                    Dock         = DockStyle.Fill,
                    PasswordChar = '*',
                    MaxLength    = 15,
                });

                (myCard.Controls.Find("Password", true).FirstOrDefault() as TextBox).Click += (s, a) =>
                {
                    (myCard.Controls.Find("Password", true).FirstOrDefault() as TextBox).PasswordChar = '\0';
                };

                (myCard.Controls.Find("Password", true).FirstOrDefault() as TextBox).LostFocus += (s, a) =>
                {
                    (myCard.Controls.Find("Password", true).FirstOrDefault() as TextBox).PasswordChar = '*';
                };

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new GroupBox()
                {
                    Name   = "GroupBoxOccupation",
                    Text   = "Права",
                    Width  = 188,
                    Height = 120,
                });

                (myCard.Controls.Find("GroupBoxOccupation", true).FirstOrDefault() as GroupBox).Controls.Add(new CheckedListBox()
                {
                    Name        = "Occupation",
                    Dock        = DockStyle.Fill,
                    BorderStyle = BorderStyle.None,
                    BackColor   = Supports.headGrey,
                    ForeColor   = Supports.textWhite,
                });

                CheckedListBox OccupationCheckedListBox = (myCard.Controls.Find("Occupation", true).FirstOrDefault() as CheckedListBox);

                OccupationCheckedListBox.MouseLeave += (sen, arg) =>
                {
                    (sen as CheckedListBox).ClearSelected();
                };

                (myCard.Controls.Find("FlowLayoutPanel", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new Panel()
                {
                    Name   = "Panel1",
                    Width  = 188,
                    Height = 20
                });

                (myCard.Controls.Find("Panel1", true).FirstOrDefault() as Panel).Controls.Add(new Button()
                {
                    Name      = "editButton",
                    Image     = add == false ? Resources.edit : Resources.add,
                    Dock      = DockStyle.Left,
                    Width     = 90,
                    FlatStyle = FlatStyle.Flat,
                    ForeColor = Supports.textBlack,
                });

                (myCard.Controls.Find("Panel1", true).FirstOrDefault() as Panel).Controls.Add(new Button()
                {
                    Name      = "eraseButton",
                    Image     = Resources.erase,
                    Dock      = DockStyle.Right,
                    Width     = 90,
                    FlatStyle = FlatStyle.Flat,
                    ForeColor = Supports.textBlack,
                });

                new ToolTip().SetToolTip((myCard.Controls.Find("editButton", true).FirstOrDefault() as Button), "Внести изменения");
                new ToolTip().SetToolTip((myCard.Controls.Find("eraseButton", true).FirstOrDefault() as Button), "Удалить пользователя");

                (myCard.Controls.Find("editButton", true).FirstOrDefault() as Button).Click += (sen, arg) =>
                {
                    if (MessageBoxTi.Show("Вы действительно хотите изменить данные пользователя?", "Редактирование") == MessageResult.Yes)
                    {
                        if (dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).Count() != 0)
                        {
                            List <object> delID = new List <object>();
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Password"]       = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Password", true).FirstOrDefault() as TextBox).Text;
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Face"]           = sup.ImToBy(((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Picture", true).FirstOrDefault() as PictureBox).Image);
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Пользователь"]   = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Name", true).FirstOrDefault() as TextBox).Text;
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Login"]          = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Login", true).FirstOrDefault() as TextBox).Text;
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["SatellitesType"] = (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).SelectedItem;
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Department"]     = (myCard.Controls.Find("DepartmentComboBox", true).FirstOrDefault() as ComboBox).SelectedItem;
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Allowed"]        = 1;
                            dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault()["Rank"]           = (int)Enum.Parse(typeof(Supports.Ranks), (myCard.Controls.Find("RankComboBox", true).FirstOrDefault() as ComboBox).SelectedItem.ToString());


                            for (int j = 0; j < OccupationCheckedListBox.Items.Count; j++)
                            {
                                if (OccupationCheckedListBox.GetItemChecked(j) && dataBase.dataset.Tables["Appointment"].Rows.Cast <DataRow>().Where(x => x["Login"].ToString().Equals(Login)).Where(x => x["Occupation"].ToString().Equals(OccupationCheckedListBox.Items[j].ToString())).Count() == 0)
                                {
                                    DataRow dr = dataBase.dataset.Tables["Appointment"].NewRow();
                                    dr["Login"]      = Login;
                                    dr["Occupation"] = OccupationCheckedListBox.Items[j].ToString();
                                    dataBase.dataset.Tables["Appointment"].Rows.Add(dr);
                                }

                                if (!OccupationCheckedListBox.GetItemChecked(j) && dataBase.dataset.Tables["Appointment"].Rows.Cast <DataRow>().Where(x => x["Login"].ToString().Equals(Login)).Where(x => x["Occupation"].ToString().Equals(OccupationCheckedListBox.Items[j].ToString())).Count() != 0)
                                {
                                    delID.Add(dataBase.dataset.Tables["Appointment"].Rows.Cast <DataRow>().Where(x => x["Login"].ToString().Equals(Login)).Where(x => x["Occupation"].ToString().Equals(OccupationCheckedListBox.Items[j].ToString())).FirstOrDefault()[0]);
                                }
                            }

                            if (delID.Count != 0)
                            {
                                dataBase.ToDisplay("Appointment", onlyAdapter: true);
                            }

                            foreach (var del in delID)
                            {
                                string k = dataBase.dataset.Tables["Appointment"].Select().Where(x => x["Occupation"].ToString().Equals("Admin")).FirstOrDefault()[0].ToString();

                                if (dataBase.dataset.Tables["Appointment"].Select().Where(x => x["Occupation"].ToString().Equals("Admin")).Count() == 1 && dataBase.dataset.Tables["Appointment"].Select().Where(x => x["Occupation"].ToString().Equals("Admin")).FirstOrDefault()[0].ToString().Equals(del.ToString()))
                                {
                                    OccupationCheckedListBox.SetItemChecked(3, true);
                                    continue;
                                }
                                dataBase.dataset.Tables["Appointment"].Rows.Cast <DataRow>().Where(x => x["Login"].ToString().Equals(Login)).Where(x => x["ID"].Equals(del)).FirstOrDefault().Delete();
                                dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Appointment"]);
                                dataBase.dataset.Tables["Appointment"].Clear();
                                dataBase.sqlAdapter.Fill(dataBase.dataset.Tables["Appointment"]);
                            }

                            dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login", onlyAdapter: true);
                            dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Login"]);
                            dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login");
                            dataBase.ToDisplay("Appointment", onlyAdapter: true);
                            dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Appointment"]);
                            dataBase.ToDisplay("Appointment");

                            return;
                        }
                        else
                        {
                            DataRow dr1 = dataBase.dataset.Tables["Login"].NewRow();
                            dr1["Password"]       = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Password", true).FirstOrDefault() as TextBox).Text;
                            dr1["Face"]           = sup.ImToBy(((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Picture", true).FirstOrDefault() as PictureBox).Image);
                            dr1["Пользователь"]   = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Name", true).FirstOrDefault() as TextBox).Text;
                            dr1["Login"]          = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Login", true).FirstOrDefault() as TextBox).Text;
                            dr1["SatellitesType"] = (myCard.Controls.Find("SatellitesTypeComboBox", true).FirstOrDefault() as ComboBox).SelectedItem;
                            dr1["Department"]     = (myCard.Controls.Find("DepartmentComboBox", true).FirstOrDefault() as ComboBox).SelectedItem;
                            dr1["Allowed"]        = 1;
                            dr1["Rank"]           = (int)Enum.Parse(typeof(Supports.Ranks), (myCard.Controls.Find("RankComboBox", true).FirstOrDefault() as ComboBox).SelectedItem.ToString());

                            dataBase.dataset.Tables["Login"].Rows.Add(dr1);

                            for (int j = 0; j < OccupationCheckedListBox.Items.Count; j++)
                            {
                                if (OccupationCheckedListBox.GetItemChecked(j) && dataBase.dataset.Tables["Appointment"].Rows.Cast <DataRow>().Where(x => x["Login"].ToString().Equals(Login) && x["Occupation"].ToString().Equals(OccupationCheckedListBox.Items[j].ToString())).Count() == 0)
                                {
                                    DataRow dr = dataBase.dataset.Tables["Appointment"].NewRow();
                                    dr["Login"]      = ((Controls.Find(Login, true).FirstOrDefault() as Panel).Controls.Find("Login", true).FirstOrDefault() as TextBox).Text;
                                    dr["Occupation"] = OccupationCheckedListBox.Items[j].ToString();
                                    dataBase.dataset.Tables["Appointment"].Rows.Add(dr);
                                }
                            }

                            dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login", onlyAdapter: true);
                            dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Login"]);
                            dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login");
                            dataBase.ToDisplay("Appointment", onlyAdapter: true);
                            dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Appointment"]);
                            dataBase.ToDisplay("Appointment");


                            (myCard.Controls.Find("editButton", true).FirstOrDefault() as Button).Image = Resources.edit;
                            return;
                        }
                    }
                };

                (myCard.Controls.Find("eraseButton", true).FirstOrDefault() as Button).Click += (sen, arg) =>
                {
                    if (dataBase.dataset.Tables["Appointment"].Select().Where(x => x["Occupation"].ToString().Equals("Admin")).Count() == 1 && OccupationCheckedListBox.GetItemChecked(3))
                    {
                        MessageBoxTi.Show("Невозможно удалить последнего администратора");
                        return;
                    }
                    if (dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).Count() != 0)
                    {
                        dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(Login)).FirstOrDefault().Delete();
                        foreach (DataRow dr in dataBase.dataset.Tables["Appointment"].Select().Where(x => x["Login"].ToString().Equals(Login)))
                        {
                            dr.Delete();
                        }
                        dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login", onlyAdapter: true);
                        dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Login"]);
                        dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login");
                        dataBase.ToDisplay("Appointment", onlyAdapter: true);
                        dataBase.sqlAdapter.Update(dataBase.dataset.Tables["Appointment"]);
                        dataBase.ToDisplay("Appointment");
                        Controls.Remove(Controls.Find(Login, true).FirstOrDefault());
                    }
                    else
                    {
                        Controls.Remove(Controls.Find(Login, true).FirstOrDefault());
                    }
                };

                OccupationCheckedListBox.Items.Add("Администратор");
                OccupationCheckedListBox.Items.Add("ССА");
                OccupationCheckedListBox.Items.Add("Графики");
                OccupationCheckedListBox.Items.Add("НС");
                OccupationCheckedListBox.Items.Add("Документация");

                if (occupation != null)
                {
                    for (int j = 0; j < OccupationCheckedListBox.Items.Count; j++)
                    {
                        if ((occupation.Rows.Cast <DataRow>().Where(x => x["Login"].ToString().Equals(Login)).Where(x => x["Occupation"].ToString().Equals(OccupationCheckedListBox.Items[j].ToString()))).ToList().Count != 0)
                        {
                            OccupationCheckedListBox.SetItemChecked(j, true);
                        }
                    }
                }

                Supports.GangeGroup(myCard);
                return(myCard);
            }
            catch (Exception e)
            {
                MessageBoxTi.Show("Admin.UserCard " + e.Message);
                return(null);
            }
        }
Example #7
0
        public Admin()
        {
            try
            {
                BorderStyle = BorderStyle.None;
                Name        = "tabPageAdmin";
                Text        = "Админ";
                BackColor   = Supports.headGrey;
                ForeColor   = Supports.headGrey;

                Controls.Add(new FlowLayoutPanel()
                {
                    BorderStyle = BorderStyle.None,
                    Name        = "FlowLayoutPanelAdmin",
                    Dock        = DockStyle.Fill,
                    AutoScroll  = true,
                });

                Controls.Add(new Panel()
                {
                    Name  = "foreignPanelAdmin",
                    Dock  = DockStyle.Right,
                    Width = 440,
                });

                (Controls.Find("foreignPanelAdmin", true).FirstOrDefault() as Panel).Controls.Add(foreignPeople);

                (Controls.Find("foreignPanelAdmin", true).FirstOrDefault() as Panel).Controls.Add(new Label()
                {
                    Font      = new Font("Times New Roman", 12, FontStyle.Bold),
                    TextAlign = ContentAlignment.MiddleCenter,
                    Dock      = DockStyle.Top,
                    Text      = "Грингос",
                });

                Controls.Add(new FlowLayoutPanel()
                {
                    BorderStyle = BorderStyle.None,
                    Name        = "FlowLayoutPanelData",
                    Dock        = DockStyle.Top,
                    Height      = 30,
                    Padding     = new Padding(3),
                    BackColor   = Supports.backBlack,
                });

                bool adminFirst = false;

                Enter += (se, e) =>
                {
                    try
                    {
                        dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login", onlyAdapter: true);

                        if (adminFirst == true)
                        {
                            return;
                        }

                        foreach (DataRow dr in dataBase.dataset.Tables["Login"].Rows.Cast <DataRow>().Where(x => Convert.ToInt32(x["Department"]) == 2))
                        {
                            (Controls.Find("FlowLayoutPanelAdmin", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(UserCard(dr["Login"].ToString()));
                        }


                        (Controls.Find("FlowLayoutPanelAdmin", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new Panel()
                        {
                            Name      = "AddPanel",
                            Width     = 200,
                            Height    = 410,
                            BackColor = Supports.backBlack,
                            Padding   = new Padding(3),
                        });


                        (Controls.Find("FlowLayoutPanelData", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new Label()
                        {
                            Name     = "DataLabel",
                            AutoSize = true,
                            Text     = "Текущая версия программы:",
                            Padding  = new Padding(0, 9, 0, 0),
                        });

                        (Controls.Find("FlowLayoutPanelData", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new Label()
                        {
                            Name     = "DataLabel1",
                            Text     = (string)dataBase.ToCount("SELECT TOP 1 [Version] FROM [dbo].[ProgVer] ORDER BY [dbo].[ProgVer].[Version] DESC"),
                            AutoSize = true,
                            Padding  = new Padding(0, 9, 0, 0),
                        });



                        (Controls.Find("FlowLayoutPanelData", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(new Button()
                        {
                            Name      = "DataButton",
                            Text      = "Добавить новую версию",
                            Width     = 160,
                            FlatStyle = FlatStyle.Flat,
                        });

                        (Controls.Find("DataButton", true).FirstOrDefault() as Button).Click += (s, arg) =>
                        {
                            OpenFileDialog openFileDialog1 = new OpenFileDialog();
                            openFileDialog1.Filter = "EXECUTE files|*.exe;";
                            if (openFileDialog1.ShowDialog() == DialogResult.OK)
                            {
                                dataBase.ToUpdate(openFileDialog1.OpenFile(), Application.ProductVersion);
                            }

                            (Controls.Find("DataLabel1", true).FirstOrDefault() as Label).Text = (string)dataBase.ToCount("SELECT TOP 1 [Version] FROM [dbo].[ProgVer] ORDER BY [dbo].[ProgVer].[Version] DESC");
                        };

                        (Controls.Find("AddPanel", true).FirstOrDefault() as Panel).Controls.Add(new Button()
                        {
                            Name      = "AddPanelButton",
                            Image     = Resources.plus,
                            Dock      = DockStyle.Fill,
                            FlatStyle = FlatStyle.Flat,
                            ForeColor = Supports.textBlack,
                            BackColor = Supports.headGrey
                        });

                        (Controls.Find("AddPanelButton", true).FirstOrDefault() as Button).Click += (s, arg) =>
                        {
                            string log = MessageBoxTi.Show("Логин", "Придумайте логин", HorizontalAlignment.Left);
                            while (log.Length > 15)
                            {
                                log = MessageBoxTi.Show("Логин", "Пользователь с таким ологином уже существует. Придумайте другой логин!", HorizontalAlignment.Left);
                                if (log == null || log == "")
                                {
                                    return;
                                }
                            }

                            if (dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(log)).Count() == 0 && log != "")
                            {
                                (Controls.Find("FlowLayoutPanelAdmin", true).FirstOrDefault() as FlowLayoutPanel).Controls.Add(UserCard(log, true));
                                (Controls.Find("FlowLayoutPanelAdmin", true).FirstOrDefault() as FlowLayoutPanel).Controls.SetChildIndex((Controls.Find("FlowLayoutPanelAdmin", true).FirstOrDefault() as FlowLayoutPanel).Controls.Find("AddPanel", false).FirstOrDefault(), (Controls.Find("FlowLayoutPanelAdmin", true).FirstOrDefault() as FlowLayoutPanel).Controls.Count);
                                return;
                            }
                            else if (log == null || log == "")
                            {
                                return;
                            }
                            else
                            {
                                MessageBoxTi.Show("Такой логин уже существует");
                                return;
                            }
                        };
                        Controls.Find("AddPanelButton", true).FirstOrDefault().Focus();
                        adminFirst = true;



                        foreach (DataRow dr in dataBase.dataset.Tables["Login"].Rows.Cast <DataRow>().Where(x => Convert.ToInt32(x["Department"]) != 2))
                        {
                            foreignPeople.Controls.Add(UserCard(dr["Login"].ToString()));
                        }

                        foreignPeople.Controls.Add(new Panel()
                        {
                            Name      = "AddPanel",
                            Width     = 200,
                            Height    = 410,
                            BackColor = Supports.backBlack,
                            Padding   = new Padding(3),
                        });

                        (foreignPeople.Controls.Find("AddPanel", true).FirstOrDefault() as Panel).Controls.Add(new Button()
                        {
                            Name      = "AddPanelButton",
                            Image     = Resources.plus,
                            Dock      = DockStyle.Fill,
                            FlatStyle = FlatStyle.Flat,
                            ForeColor = Supports.textBlack,
                            BackColor = Supports.headGrey
                        });

                        (foreignPeople.Controls.Find("AddPanelButton", true).FirstOrDefault() as Button).Click += (s, arg) =>
                        {
                            string log = MessageBoxTi.Show("Логин", "Придумайте логин", HorizontalAlignment.Left);
                            while (log.Length > 15)
                            {
                                log = MessageBoxTi.Show("Логин", "Пользователь с таким ологином уже существует. Придумайте другой логин!", HorizontalAlignment.Left);
                                if (log == null || log == "")
                                {
                                    return;
                                }
                            }

                            if (dataBase.dataset.Tables["Login"].Select().Where(x => x["Login"].ToString().Equals(log)).Count() == 0 && log != "")
                            {
                                foreignPeople.Controls.Add(UserCard(log, true));
                                foreignPeople.Controls.SetChildIndex(foreignPeople.Controls.Find("AddPanel", false).FirstOrDefault(), foreignPeople.Controls.Count);
                                return;
                            }
                            else if (log == null || log == "")
                            {
                                return;
                            }
                            else
                            {
                                MessageBoxTi.Show("Такой логин уже существует");
                                return;
                            }
                        };


                        Supports.GangeGroup(this);
                    }
                    catch (Exception ex)
                    {
                        MessageBoxTi.Show("Admin.Enter " + ex.Message);
                    }
                };

                dataBase.ToDisplay("SELECT [ID], [Department], [Login], [Password], [Face], [Пользователь], [Rank], [Allowed], [SatellitesType] FROM Login", requestJustByMyself: true, dataTableName: "Login");
                dataBase.ToDisplay("Appointment");
            }
            catch (Exception e)
            {
                MessageBoxTi.Show("Admin " + e.Message);
            }
        }