//Обновление строки private void UpdateRecord() { if (dgvAddAccr.CurrentRow == null) { return; } v_AddAccr addAccrSet = dgvAddAccr.CurrentRow.DataBoundItem as v_AddAccr; if (addAccrSet == null) { MessageBox.Show("Не знайдений рядок для оновлення", "Помилка"); return; } fmAddAccrEdit fmEdit = new fmAddAccrEdit(EnumFormMode.Edit, "Зміна додаткового нарахування"); fmEdit.SetData(addAccrSet); if (fmEdit.ShowDialog() == DialogResult.OK) { AddAccr addAccrGet = fmEdit.GetData(); string error; if (!_repoAddAccr.ModifyAddAccr(addAccrGet, out error)) { MessageBox.Show("Помилка оновлення рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableAddAccr(_depId, _datBeg, _datEnd); } }
//Вставка строки private void InsertRecord() { fmAddAccrEdit fmEdit = new fmAddAccrEdit(EnumFormMode.Insert, "Створення додаткового нарахування"); AddAccr accrSet = new AddAccr(); int month = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true); if (month == 0) { accrSet.AddAccr_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); accrSet.AddAccr_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) { accrSet.AddAccr_RefDep_Id = dep.Id; } } fmEdit.SetData(accrSet); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; AddAccr accrGet = fmEdit.GetData(); int id = _repoAddAccr.AddAddAccr(accrGet, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableAddAccr(_depId, _datBeg, _datEnd); dgvAddAccr.SetPositionRow <v_AddAccr>("AddAccr_Id", id.ToString()); } }