122 lines
4.4 KiB
C#
122 lines
4.4 KiB
C#
using MySql.Data.MySqlClient;
|
|
using NeshinaPolina07_11;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Neshina13
|
|
{
|
|
public partial class Add : Form
|
|
{
|
|
public Add()
|
|
{
|
|
InitializeComponent();
|
|
LoadComboBoxes();
|
|
|
|
}
|
|
|
|
private void LoadComboBoxes()
|
|
{
|
|
// Загрузка предметов
|
|
string subjQuery = "SELECT StudySubject_Id, StudySubject_name FROM StudySubjects";
|
|
FillComboBox(comboBox1, subjQuery, "StudySubject_name", "StudySubject_Id");
|
|
|
|
// Загрузка групп
|
|
string groupQuery = "SELECT Group_Id, CONCAT(GroupNum, ' - ', Group_Special) AS GroupInfo FROM `Group`";
|
|
FillComboBox(comboBox2, groupQuery, "GroupInfo", "Group_Id");
|
|
|
|
// Загрузка преподавателей
|
|
string teacherQuery = "SELECT Teacher_Id, CONCAT(Teacher_FirstName, ' ', Teacher_LastName, ' ', Teacher_MiddleName) AS TeacherName FROM Teacher";
|
|
FillComboBox(comboBox3, teacherQuery, "TeacherName", "Teacher_Id");
|
|
|
|
// Загрузка ответственных (менеджеров)
|
|
string managerQuery = "SELECT Manger_Id, CONCAT(Manager_FirstName, ' ', Manager_LastName, ' ', Manager_MiddleName) AS ManagerName FROM Mangers";
|
|
FillComboBox(comboBox4, managerQuery, "ManagerName", "Manger_Id");
|
|
}
|
|
|
|
private void FillComboBox(ComboBox comboBox, string query, string displayMember, string valueMember)
|
|
{
|
|
try
|
|
{
|
|
var conn = DB.GetInstance().GetConnection();
|
|
using (var adapter = new MySqlDataAdapter(query, conn))
|
|
{
|
|
var table = new DataTable();
|
|
adapter.Fill(table);
|
|
comboBox.DataSource = table;
|
|
comboBox.DisplayMember = displayMember;
|
|
comboBox.ValueMember = valueMember;
|
|
comboBox.SelectedIndex = -1; // Ничего не выбрано по умолчанию
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Ошибка загрузки данных: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
// Проверка, что все обязательные поля выбраны
|
|
if (comboBox1.SelectedValue == null ||
|
|
comboBox2.SelectedValue == null ||
|
|
comboBox3.SelectedValue == null ||
|
|
comboBox4.SelectedValue == null)
|
|
{
|
|
MessageBox.Show("Пожалуйста, заполните все поля.");
|
|
return;
|
|
}
|
|
|
|
try
|
|
{
|
|
var conn = DB.GetInstance().GetConnection();
|
|
|
|
string insertQuery = @"
|
|
INSERT INTO Schedule (
|
|
Schedule_StudySubject_Id,
|
|
Schedule_Group_Id,
|
|
Schedule_Teacher_Id,
|
|
Schedule_ResponsiblMmanager,
|
|
Schedule_Date
|
|
) VALUES (
|
|
@subjectId,
|
|
@groupId,
|
|
@teacherId,
|
|
@managerId,
|
|
@date
|
|
);";
|
|
|
|
using (var cmd = new MySqlCommand(insertQuery, conn))
|
|
{
|
|
cmd.Parameters.AddWithValue("@subjectId", comboBox1.SelectedValue);
|
|
cmd.Parameters.AddWithValue("@groupId", comboBox2.SelectedValue);
|
|
cmd.Parameters.AddWithValue("@teacherId", comboBox3.SelectedValue);
|
|
cmd.Parameters.AddWithValue("@managerId", comboBox4.SelectedValue);
|
|
cmd.Parameters.AddWithValue("@date", dateTimePicker1.Value.Date);
|
|
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
|
|
MessageBox.Show("Запись успешно добавлена!");
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Ошибка при добавлении записи: " + ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|