示例#1
0
        //Обновление строки
        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());
            }
        }