//Обновление строки private void UpdateRecord() { if (dgvVocation.CurrentRow == null) { return; } v_Vocation vvocation = dgvVocation.CurrentRow.DataBoundItem as v_Vocation; if (vvocation == null) { MessageBox.Show("Не знайдений рядок відпускних для оновлення", "Помилка"); return; } fmVocationEdit fmEdit = new fmVocationEdit(EnumFormMode.Edit, "Зміна відпускного"); fmEdit.SetData(vvocation); if (fmEdit.ShowDialog() == DialogResult.OK) { Vocation vocation = fmEdit.GetData(); string error; if (!_repoVocation.ModifyVocation(vocation, out error)) { MessageBox.Show("Помилка оновлення відпускного.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableVocation(_depId, _datBeg, _datEnd); } }
//Вставка строки private void InsertRecord() { fmVocationEdit fmEdit = new fmVocationEdit(EnumFormMode.Insert, "Створення відпускних"); Vocation setVocation = new Vocation(); int month = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true); if (month == 0) { setVocation.Vocation_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); setVocation.Vocation_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) { setVocation.Vocation_RefDep_Id = dep.Id; } } fmEdit.SetData(setVocation); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; Vocation getVocation = fmEdit.GetData(); int id = _repoVocation.AddVocation(getVocation, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableVocation(_depId, _datBeg, _datEnd); dgvVocation.SetPositionRow <v_Vocation>("Vocation_Id", id.ToString()); } }