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; } }
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; }
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(); }