Example #1
0
        private void btnRulesDelete_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Вы уверены, что хотите удалить правило?", "Вопрос", MessageBoxButtons.YesNo);

            switch (dr)
            {
            case DialogResult.Yes:
                int             selectedrowindex = dataGridRules.SelectedCells[0].RowIndex;
                DataGridViewRow selectedRow      = dataGridRules.Rows[selectedrowindex];
                int             selected_id      = Convert.ToInt32(selectedRow.Cells["id_rules"].Value);
                RuleDB          obj = new RuleDB();
                obj.Delete(selected_id);
                UpdateDGV_Rules();
                obj = null;
                break;

            case DialogResult.No:

                break;
            }
        }
Example #2
0
        public EditRules(int id_rules)
        {
            InitializeComponent();
            RuleDB obj = new RuleDB(id_rules);

            // Имя
            tb_Name.Text = obj.name;

            // Группа
            RulesGroupDB group = new RulesGroupDB();

            group.Fill();
            int selected_index = 0;

            Dictionary <string, string> rules_group_list = new Dictionary <string, string>();

            for (int i = 0; i < group.list_objects.Count; i++)
            {
                rules_group_list.Add(group.list_objects[i].id.ToString(), group.list_objects[i].name);
                // Определим selected_index для выбранного типа
                if (obj.group_id == group.list_objects[i].id)
                {
                    selected_index = i;
                }
            }

            cbRulesGroup.DataSource    = new BindingSource(rules_group_list, null);
            cbRulesGroup.DisplayMember = "Value";
            cbRulesGroup.ValueMember   = "Key";
            // SelectedIndex
            cbRulesGroup.SelectedIndex = selected_index;

            //Заполним dgvTests
            RuleDB.rl_tests test_list = new RuleDB.rl_tests();
            test_list.FillByRulesID(obj.id);
            for (int i = 0; i < test_list.objects.Count; i++)
            {
                dgvTests.Rows.Add(
                    test_list.objects[i].test_name
                    );
            }

            //Заполним dgvUsers
            RuleDB.rl_users users_list = new RuleDB.rl_users();
            users_list.FillByRulesID(obj.id);
            for (int i = 0; i < users_list.objects.Count; i++)
            {
                dgvUsers.Rows.Add(
                    users_list.objects[i].user_name
                    );
            }



            // Тип расписания
            if (obj.raspisanie_type_id == 1)
            {
                rbRaspType1.Checked    = true;
                rasp1_dateStart.Value  = obj.time_start;
                rasp1_dateFinish.Value = obj.time_finish;
            }
            if (obj.raspisanie_type_id == 2)
            {
                rbRaspType2.Checked    = true;
                rasp2_dateStart.Value  = obj.time_start;
                rasp2_dateFinish.Value = obj.time_finish;
            }
            if (obj.raspisanie_type_id == 3)
            {
                rbRaspType3.Checked    = true;
                rasp3_dateStart.Value  = obj.time_start;
                rasp3_dateFinish.Value = obj.time_finish;
            }

            // Количество попыток
            if (obj.number_attempt == 10000000)
            {
                cbNumberAttempt.Checked = false;
            }
            else
            {
                cbNumberAttempt.Checked   = true;
                cbNumberAttemptValue.Text = obj.number_attempt.ToString();
            }

            // Комментарии
            tbDescription.Text = obj.description;

            editable_rule = obj;
        }
Example #3
0
        private void btnConfirm_Click_1(object sender, EventArgs e)
        {
            // Тип расписания(id)
            int      raspisanie_type_id = 1;
            DateTime dateStart;
            DateTime dateFinish;

            if (rbRaspType1.Checked)
            {
                raspisanie_type_id = 1;
                dateStart          = rasp1_dateStart.Value;
                dateFinish         = rasp1_dateFinish.Value;
            }
            else if (rbRaspType2.Checked)
            {
                raspisanie_type_id = 2;
                dateStart          = rasp2_dateStart.Value;
                dateFinish         = rasp2_dateFinish.Value;
            }
            else
            {
                raspisanie_type_id = 3;
                dateStart          = rasp3_dateStart.Value;
                dateFinish         = rasp3_dateFinish.Value;
            }

            // Id авторизованного админа
            MainForm main_fm    = (MainForm)Application.OpenForms["MainForm"];
            string   name_admin = main_fm.getAdminName();
            AdminDB  admin      = new AdminDB(name_admin);

            // Получаем id выбранной группы тестов
            int test_group_id_selected = Convert.ToInt32(((KeyValuePair <string, string>)cbTests.SelectedItem).Key);

            // Количество попыток
            int _number_attempt = 10000000;

            if (cbNumberAttempt.Checked)
            {
                _number_attempt = Convert.ToInt32(cbNumberAttemptValue.Text);
            }

            RuleDB rule = new RuleDB(
                tb_Name.Text,
                tbDescription.Text,
                raspisanie_type_id,
                dateStart,
                dateFinish,
                _number_attempt,
                admin.id,
                Convert.ToInt32(((KeyValuePair <string, string>)cbRulesGroup.SelectedItem).Key)
                );

            // Применить ли правило ко всей группе тестов?
            if (cbTestsAllinGroup.Checked)
            {
                rule.AddToDB(true, test_group_id_selected);
            }
            else
            {
                // Получим ID лист выбранных тестов
                List <int> list_tests_id = new List <int>();
                foreach (DataGridViewRow r in dgvTests.Rows)
                {
                    if (Convert.ToBoolean(r.Cells[1].Value))
                    {
                        list_tests_id.Add(Convert.ToInt32(r.Cells[0].Value));
                    }
                }
                // Если выбраны какие-нибудь тесты, добавляем их
                if (list_tests_id.Count > 0)
                {
                    rule.AddToDB(true, list_tests_id);
                }
            }

            // Получаем id выбранной группы юзеров
            int user_group_id_selected = Convert.ToInt32(((KeyValuePair <string, string>)cbUsers.SelectedItem).Key);

            // Применить ли правило ко всей группе юзеров?
            if (cbUsersAllInGroup.Checked)
            {
                rule.AddToDB(false, user_group_id_selected);
            }
            else
            {
                // Получим ID лист выбранных пользователей
                List <int> list_users_id = new List <int>();
                foreach (DataGridViewRow r in dgvUsers.Rows)
                {
                    if (Convert.ToBoolean(r.Cells[1].Value))
                    {
                        list_users_id.Add(Convert.ToInt32(r.Cells[0].Value));
                    }
                }
                // Если выбраны какие-нибудь юзеры, добавляем их
                if (list_users_id.Count > 0)
                {
                    rule.AddToDB(false, list_users_id);
                }
            }
            main_fm.UpdateDGV_Rules();
            this.Close();
        }