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