//Обновление строки 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 InsertRecord() { fmSalaryAdd fmEdit = new fmSalaryAdd(EnumFormMode.Insert, "Створення зарлати"); Salary sal = new Salary(); int month = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true); if (month == 0) { sal.Salary_Date = DateTime.MinValue.AddYears(DateTime.Today.Year - 1).AddMonths(DateTime.Today.Month - 1); } else { int year = SalaryHelper.GetYearByIndex(DateTime.Today.Year - SetupProgram.YearSalary, cmbCalendar.SelectedIndex, true); sal.Salary_Date = DateTime.MinValue.AddYears(year - 1).AddMonths(month - 1); } if (MenuItemDeps.CheckState == CheckState.Checked && dgvDep.CurrentRow != null) { v_Dep dep = dgvDep.CurrentRow.DataBoundItem as v_Dep; if (dep != null) { sal.Salary_RefDep_Id = dep.Id; } } fmEdit.SetData(sal); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; Salary salary = fmEdit.GetData(); int id = _repoSalary.AddSalary(salary, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableSalary(_depId, _datBeg, _datEnd); dgvSalary.SetPositionRow <v_Salary>("Salary_Id", id.ToString()); } }