// Редактирование записи о сотруднике private void editEmployeeButton_Click(object sender, EventArgs e) { if (MessageBox.Show("Вы действительно хотите изменить эту запись?", "Подтверждение операции", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (TestDBEntities tdb = new TestDBEntities()) { var entry = tdb.Entry(updating_employee); if (entry.State == EntityState.Detached) { tdb.Empoyee.Attach(updating_employee); updating_employee.FirstName = txtFirstName.Text.Trim(); updating_employee.SurName = txtSurname.Text.Trim(); updating_employee.Patronymic = txtPatronymic.Text.Trim(); updating_employee.DateOfBirth = dateOfBirthPicker.Value; updating_employee.DocSeries = txtSeries.Text.Trim(); updating_employee.DocNumber = txtNumber.Text.Trim(); updating_employee.Position = txtPosition.Text.Trim(); tdb.SaveChanges(); UpdateEmployees(); ClearTextEmployees(); FillingComboBoxes(tdb); } } } }
// Функция отображения данных о сотрудниках public void UpdateEmployees() { employeeDataGridView.AutoGenerateColumns = false; using (TestDBEntities tdb = new TestDBEntities()) { employeeDataGridView.DataSource = tdb.Empoyee.ToList <Empoyee>(); } }
// Функция отображения данных об отделах public void UpdateDepartments() { departmentsDataGridView.AutoGenerateColumns = false; using (TestDBEntities tdb = new TestDBEntities()) { departmentsDataGridView.DataSource = tdb.Department.ToList <Department>(); FillingComboBoxes(tdb); } }
// Функция заполнения выпадающих списков названиями существущих отделов public void FillingComboBoxes(TestDBEntities t) { departmentComboBox.Items.Clear(); parentDepartmentComboBox.Items.Clear(); edComboBox.Items.Clear(); foreach (Department d in t.Department) { departmentComboBox.Items.Add(d.Name); parentDepartmentComboBox.Items.Add(d.Name); edComboBox.Items.Add(d.Name); } }
// Получение данных об удаляемой записи об отделе private void departmentsDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (departmentsDataGridView.CurrentRow.Index != -1) { deleting_department.ID = (Guid)departmentsDataGridView.CurrentRow.Cells["DID"].Value; using (TestDBEntities tdb = new TestDBEntities()) { deleting_department = tdb.Department.Where(x => x.ID == deleting_department.ID).FirstOrDefault(); } deleteDepartmentButton.Enabled = true; } }
// Получение данных об удаляемой записи о сотруднике private void employeeDataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (employeeDataGridView.CurrentRow.Index != -1) { deleting_employee.ID = (decimal)employeeDataGridView.CurrentRow.Cells["EID"].Value; using (TestDBEntities tdb = new TestDBEntities()) { deleting_employee = tdb.Empoyee.Where(x => x.ID == deleting_employee.ID).FirstOrDefault(); } deleteEmployeeButton.Enabled = true; } }
// Получение данных о редактируемой записи об отделе private void departmentsDataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (departmentsDataGridView.CurrentRow.Index != -1) { updating_department.ID = (Guid)departmentsDataGridView.CurrentRow.Cells["DID"].Value; using (TestDBEntities tdb = new TestDBEntities()) { updating_department = tdb.Department.Where(x => x.ID == updating_department.ID).FirstOrDefault(); txtName.Text = updating_department.Name; txtCode.Text = updating_department.Code; } } }
// Удаление записи о сотруднике private void deleteEmployeeButton_Click(object sender, EventArgs e) { if (MessageBox.Show("Вы действительно хотите удалить эту запись?", "Подтверждение операции", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (TestDBEntities tdb = new TestDBEntities()) { var entry = tdb.Entry(deleting_employee); if (entry.State == EntityState.Detached) { tdb.Empoyee.Attach(deleting_employee); tdb.Empoyee.Remove(deleting_employee); tdb.SaveChanges(); UpdateEmployees(); ClearTextEmployees(); } } } deleteEmployeeButton.Enabled = false; }
// Получение данных о редактируемой записи об сотруднике private void employeeDataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (employeeDataGridView.CurrentRow.Index != -1) { updating_employee.ID = (decimal)employeeDataGridView.CurrentRow.Cells["EID"].Value; using (TestDBEntities tdb = new TestDBEntities()) { updating_employee = tdb.Empoyee.Where(x => x.ID == updating_employee.ID).FirstOrDefault(); txtFirstName.Text = updating_employee.FirstName; txtSurname.Text = updating_employee.SurName; txtPatronymic.Text = updating_employee.Patronymic; dateOfBirthPicker.Value = updating_employee.DateOfBirth; txtSeries.Text = updating_employee.DocSeries; txtNumber.Text = updating_employee.DocNumber; txtPosition.Text = updating_employee.Position; } } }
// Редактирование записи об отделе private void editDepartmentButton_Click(object sender, EventArgs e) { if (MessageBox.Show("Вы действительно хотите изменить эту запись?", "Подтверждение операции", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (TestDBEntities tdb = new TestDBEntities()) { var entry = tdb.Entry(updating_department); if (entry.State == EntityState.Detached) { tdb.Department.Attach(updating_department); updating_department.Name = txtName.Text.Trim(); updating_department.Code = txtCode.Text.Trim(); tdb.SaveChanges(); UpdateDepartments(); ClearTextDepartments(); FillingComboBoxes(tdb); } } } }
// Удаление записи об отделе private void deleteDepartmentButton_Click(object sender, EventArgs e) { if (MessageBox.Show("Все записи о сотрудниках этого отдела в таблице 'Сотрудники' будут удалены. Вы действительно хотите удалить этот отдел?", "Подтверждение операции", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (TestDBEntities tdb = new TestDBEntities()) { var entry = tdb.Entry(deleting_department); if (entry.State == EntityState.Detached) { tdb.Department.Attach(deleting_department); tdb.Department.Remove(deleting_department); tdb.SaveChanges(); UpdateEmployees(); ClearTextDepartments(); UpdateDepartments(); FillingComboBoxes(tdb); } } } deleteDepartmentButton.Enabled = false; }