//Обновление строки private void UpdateRecord() { if (dgvSalary.CurrentRow == null) { return; } v_Salary vsalary = dgvSalary.CurrentRow.DataBoundItem as v_Salary; if (vsalary == null) { MessageBox.Show("Не знайдений рядок зарплати для оновлення", "Помилка"); return; } fmSalaryAdd fmEdit = new fmSalaryAdd(EnumFormMode.Edit, "Зміна зарплати"); fmEdit.SetData(vsalary); if (fmEdit.ShowDialog() == DialogResult.OK) { Salary salary = fmEdit.GetData(); string error; if (!_repoSalary.ModifySalary(salary, out error)) { MessageBox.Show("Помилка оновлення зарплати.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableSalary(_depId, _datBeg, _datEnd); } }
//Физическое удаление строки private void DeleteRecord() { List <v_Salary> checkedSalaries = dgvSalary.GetCheckedRecords <v_Salary>(); if (checkedSalaries.Count > 0) { if (MessageBox.Show("Ви впевнені, що бажаєте видалити обрані рядки зарплати?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.Yes) { Coffee.Init("Видалення зарплати"); foreach (v_Salary salary in checkedSalaries) { string error; if (!_repoSalary.DeleteSalary(salary.Salary_Id, out error)) { MessageBox.Show("Помилка видалення.\nТехнічна інформація: " + error, "Помилка"); break; } } Coffee.Term(); RefreshTableSalary(_depId, _datBeg, _datEnd); } } else { if (dgvSalary.CurrentRow == null) { return; } if (MessageBox.Show("Ви впевнені, що бажаєте видалити рядок зарплати?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.No) { return; } v_Salary salary = dgvSalary.CurrentRow.DataBoundItem as v_Salary; if (salary == null) { MessageBox.Show("Не знайдений рядок для видалення", "Помилка"); return; } string error; if (!_repoSalary.DeleteSalary(salary.Salary_Id, out error)) { MessageBox.Show("Помилка видалення.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableSalary(_depId, _datBeg, _datEnd); } }