Пример #1
0
 public fmUST(Form owner, USTCt ustCt)
 {
     InitializeComponent();
     this.SingleFormMode(owner);
     this.BaseFormStyle("Единий соціальний внесок. Таблиці");
     _ustCt = ustCt;
 }
Пример #2
0
        //Обновление строки
        private void UpdateRecord()
        {
            if (dgvUSTCt.CurrentRow == null)
            {
                return;
            }
            USTCt setUSTCt = dgvUSTCt.CurrentRow.DataBoundItem as USTCt;

            if (setUSTCt == null)
            {
                MessageBox.Show("Не знайдений рядок для оновлення", "Помилка");
                return;
            }
            fmUSTCtEdit fmEdit = new fmUSTCtEdit(EnumFormMode.Edit, "Зміна каталога ЄСВ");

            fmEdit.SetData(setUSTCt);
            if (fmEdit.ShowDialog() == DialogResult.OK)
            {
                USTCt  getUSTCt = fmEdit.GetData();
                string error;
                if (!_repoUSTCt.ModifyUSTCt(getUSTCt, out error))
                {
                    MessageBox.Show("Помилка оновлення рядка.\nТехнічна інформація: " + error, "Помилка");
                    return;
                }
                RefreshTableUSTCt();
            }
        }
        private void FillDataRec(SqlDataReader reader, USTCt ustCt)
        {
            int      resInt  = 0;
            DateTime resDate = DateTime.MinValue;

            if (int.TryParse(reader["USTCt_Id"].ToString(), out resInt))
            {
                ustCt.USTCt_Id = resInt;
            }
            if (DateTime.TryParse(reader["USTCt_Date"].ToString(), out resDate))
            {
                ustCt.USTCt_Date = resDate;
            }
            if (int.TryParse(reader["USTCt_Nmr"].ToString(), out resInt))
            {
                ustCt.USTCt_Nmr = resInt;
            }
            ustCt.USTCt_Nm = reader["USTCt_Nm"].ToString();
            if (DateTime.TryParse(reader["USTCt_DateClc"].ToString(), out resDate))
            {
                ustCt.USTCt_DateClc = resDate;
            }
            if (int.TryParse(reader["USTCt_Flg"].ToString(), out resInt))
            {
                ustCt.USTCt_Flg = resInt;
            }
        }
Пример #4
0
        //Физическое удаление строки
        private void DeleteRecord()
        {
            List <USTCt> checkedUSTCts = dgvUSTCt.GetCheckedRecords <USTCt>();

            if (checkedUSTCts.Count > 0)
            {
                if (MessageBox.Show("Ви впевнені, що бажаєте видалити обрані рядки?",
                                    "Видалення", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Coffee.Init("Видалення...");

                    foreach (USTCt ustCt in checkedUSTCts)
                    {
                        string error;
                        if (!_repoUSTCt.DeleteUSTCt(ustCt.USTCt_Id, out error))
                        {
                            MessageBox.Show("Помилка видалення рядка.\nТехнічна інформація: " + error, "Помилка");
                            break;
                        }
                    }
                    Coffee.Term();
                    RefreshTableUSTCt();
                }
            }
            else
            {
                if (dgvUSTCt.CurrentRow == null)
                {
                    return;
                }
                if (MessageBox.Show("Ви впевнені, що бажаєте видалити обраний рядок?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }
                USTCt ustCt = dgvUSTCt.CurrentRow.DataBoundItem as USTCt;
                if (ustCt == null)
                {
                    MessageBox.Show("Не знайдений рядок для видалення", "Помилка");
                    return;
                }
                string error;
                if (!_repoUSTCt.DeleteUSTCt(ustCt.USTCt_Id, out error))
                {
                    MessageBox.Show("Помилка видалення рядка.\nТехнічна інформація: " + error, "Помилка");
                    return;
                }
                RefreshTableUSTCt();
            }
        }
        //Добавить каталог ЕСВ
        public int AddUSTCt(USTCt ustCt, out string error)
        {
            error = string.Empty;
            if (ustCt == null)
            {
                error = "ustCt == null";
                return(0);
            }
            if (conn == null)
            {
                error = "conn == null";
                return(0);
            }
            SqlCommand command = new SqlCommand(spUSTCtInsert, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;
            command.Parameters.AddWithValue("@inUSTCt_Date",
                                            ustCt.USTCt_Date == DateTime.MinValue ? Convert.DBNull : ustCt.USTCt_Date);
            command.Parameters.AddWithValue("@inUSTCt_Nmr", ustCt.USTCt_Nmr.ToString());
            command.Parameters.AddWithValue("@inUSTCt_Nm", ustCt.USTCt_Nm);
            command.Parameters.AddWithValue("@inUSTCt_DateClc",
                                            ustCt.USTCt_DateClc == DateTime.MinValue ? Convert.DBNull : ustCt.USTCt_DateClc);
            command.Parameters.AddWithValue("@inUSTCt_Flg", ustCt.USTCt_Flg.ToString());
            // определяем выходной параметр
            SqlParameter outId = new SqlParameter
            {
                ParameterName = "outId",
                Direction     = ParameterDirection.Output,
                SqlDbType     = SqlDbType.Int
            };

            command.Parameters.Add(outId);
            try
            {
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(0);
            }
            int id = 0;

            int.TryParse(command.Parameters["outId"].Value.ToString(), out id);
            return(id);;
        }
Пример #6
0
        //Вставка строки
        private void InsertRecord()
        {
            fmUSTCtEdit fmEdit = new fmUSTCtEdit(EnumFormMode.Insert, "Створення каталога ЄСВ");

            if (fmEdit.ShowDialog() == DialogResult.OK)
            {
                string error;
                USTCt  getUSTCt = fmEdit.GetData();
                int    id       = _repoUSTCt.AddUSTCt(getUSTCt, out error);
                if (id == 0)
                {
                    MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка");
                    return;
                }
                RefreshTableUSTCt();
                dgvUSTCt.SetPositionRow <USTCt>("USTCt_Id", id.ToString());
            }
        }
Пример #7
0
        //Расчет строки
        private void CalcRecord()
        {
            List <USTCt> checkedUSTCts = dgvUSTCt.GetCheckedRecords <USTCt>();

            if (checkedUSTCts.Count > 0)
            {
                if (MessageBox.Show("Виконати розрахунок обраних рядки?",
                                    "Розрахування", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Coffee.Init("Розрахування...");
                    foreach (USTCt ustCt in checkedUSTCts)
                    {
                        if (!CalcUST(ustCt))
                        {
                            break;
                        }
                    }
                    Coffee.Term();
                }
            }
            else
            {
                if (dgvUSTCt.CurrentRow == null)
                {
                    return;
                }
                if (MessageBox.Show("Ви впевнені, що бажаєте видалити обраний рядок?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }
                USTCt ustCt = dgvUSTCt.CurrentRow.DataBoundItem as USTCt;
                if (ustCt == null)
                {
                    MessageBox.Show("Не знайдений рядок для видалення", "Помилка");
                    return;
                }
                if (!CalcUST(ustCt))
                {
                    return;
                }
            }
            RefreshTableUSTCt();
        }
Пример #8
0
 public void SetData(USTCt ustCt)
 {
     _id = ustCt.USTCt_Id;
     cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate(
         DateTime.Today.Year - SetupProgram.YearSalary, ustCt.USTCt_Date, false);
     tbNmr.Text = ustCt.USTCt_Nmr.ToString();
     tbNm.Text  = ustCt.USTCt_Nm;
     if ((ustCt.USTCt_Flg & (int)EnumActionEnterUST.AskCalc) > 0)
     {
         rbAskClc.Checked = true;
     }
     else if ((ustCt.USTCt_Flg & (int)EnumActionEnterUST.AlwaysCalc) > 0)
     {
         rbClc.Checked = true;
     }
     else
     {
         rbNoClc.Checked = true;
     }
 }
        //Получить список каталогов ЕСВ
        public List <USTCt> GetAllUSTCts(out string error)
        {
            error = string.Empty;

            List <USTCt> ustCts = new List <USTCt>();

            if (conn == null)
            {
                error = "conn == null";
                return(ustCts);
            }

            SqlCommand command = new SqlCommand(spUSTCtSelect, conn);

            command.CommandType = CommandType.StoredProcedure;
            SqlDataReader reader = null;

            try
            {
                reader = command.ExecuteReader();

                while (reader.Read())
                {
                    USTCt ustCt = new USTCt();
                    FillDataRec(reader, ustCt);
                    ustCts.Add(ustCt);
                }
            }
            catch (Exception exc)
            {
                error = exc.Message;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
            return(ustCts);
        }
Пример #10
0
        //Вход в документ
        private void EnterToDoc()
        {
            if (dgvUSTCt.CurrentRow == null)
            {
                return;
            }
            USTCt ustCt = dgvUSTCt.CurrentRow.DataBoundItem as USTCt;

            if (ustCt == null)
            {
                MessageBox.Show("Не знайдений рядок", "Помилка");
                return;
            }
            bool isNeedClc = false;

            if ((ustCt.USTCt_Flg & (int)EnumActionEnterUST.AskCalc) > 0)
            {
                if (MessageBox.Show("Виконати розрахунок ЄСВ?",
                                    "Розрахування", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    isNeedClc = true;
                }
            }
            else if ((ustCt.USTCt_Flg & (int)EnumActionEnterUST.AlwaysCalc) > 0)
            {
                isNeedClc = true;
            }
            if (isNeedClc)
            {
                if (!CalcUST(ustCt))
                {
                    return;
                }
            }
            fmUST fmUST = new fmUST(this, ustCt);

            fmUST.ShowDialog();

            RefreshTableUSTCt();
        }
Пример #11
0
        public USTCt GetData()
        {
            USTCt ustCt = new USTCt();

            ustCt.USTCt_Id   = _id;
            ustCt.USTCt_Date = SalaryHelper.GetDateByIndex(cmbCalendar.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false);
            int resInt = 0;

            if (int.TryParse(tbNmr.Text, out resInt))
            {
                ustCt.USTCt_Nmr = resInt;
            }
            ustCt.USTCt_Nm  = tbNm.Text;
            ustCt.USTCt_Flg = 0;
            if (rbAskClc.Checked)
            {
                ustCt.USTCt_Flg |= (int)EnumActionEnterUST.AskCalc;
            }
            else if (rbClc.Checked)
            {
                ustCt.USTCt_Flg |= (int)EnumActionEnterUST.AlwaysCalc;
            }
            return(ustCt);
        }
        //Изменить каталог ЕСВ
        public bool ModifyUSTCt(USTCt ustCt, out string error)
        {
            error = string.Empty;
            if (conn == null)
            {
                error = "conn == null";
                return(false);
            }
            if (ustCt == null)
            {
                error = "ustCt == null";
                return(false);
            }
            SqlCommand command = new SqlCommand(spUSTCtUpdate, conn);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Connection  = conn;
            command.Parameters.AddWithValue("@inUSTCt_Id", ustCt.USTCt_Id);
            command.Parameters.AddWithValue("@inUSTCt_Date",
                                            ustCt.USTCt_Date == DateTime.MinValue ? Convert.DBNull : ustCt.USTCt_Date);
            command.Parameters.AddWithValue("@inUSTCt_Nmr", ustCt.USTCt_Nmr.ToString());
            command.Parameters.AddWithValue("@inUSTCt_Nm", ustCt.USTCt_Nm);
            command.Parameters.AddWithValue("@inUSTCt_DateClc",
                                            ustCt.USTCt_DateClc == DateTime.MinValue ? Convert.DBNull : ustCt.USTCt_DateClc);
            command.Parameters.AddWithValue("@inUSTCt_Flg", ustCt.USTCt_Flg.ToString());
            try
            {
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
            return(true);
        }
Пример #13
0
        private bool CalcUST(USTCt ustCt)
        {
            if (ustCt == null)
            {
                return(false);
            }
            string error;

            if (!_repoUST6.DeleteUST6ByParams(ustCt.USTCt_Id, out error))
            {
                MessageBox.Show("Помилка видалення таблиці 6.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            if (!_repoUST7.DeleteUST7ByParams(ustCt.USTCt_Id, out error))
            {
                MessageBox.Show("Помилка видалення таблиці 7.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            if (!_repoUST6.CalcUST6(ustCt.USTCt_Id, out error))
            {
                MessageBox.Show("Помилка розрахунку таблиці 6.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            if (!_repoUST7.CalcUST7(ustCt.USTCt_Id, out error))
            {
                MessageBox.Show("Помилка розрахунку таблиці 7.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            ustCt.USTCt_DateClc = DateTime.Now;
            if (!_repoUSTCt.ModifyUSTCt(ustCt, out error))
            {
                MessageBox.Show("Помилка оновлення рядка каталога.\nТехнічна інформація: " + error, "Помилка");
                return(false);
            }
            return(true);
        }
Пример #14
0
        //
        private void ExportToDbf()
        {
            List <USTCt> checkedUSTCts = dgvUSTCt.GetCheckedRecords <USTCt>();
            USTCt        currentUSTCt  = null;

            if (checkedUSTCts.Count == 0)
            {
                currentUSTCt = dgvUSTCt.CurrentRow.DataBoundItem as USTCt;
                if (currentUSTCt == null)
                {
                    MessageBox.Show("Не обрані рядок/рядки для експорту", "Помилка");
                    return;
                }
            }

            fmUSTExport fmExport = new fmUSTExport();

            fmExport.SetPathExport(_pathExport);
            fmExport.SetFlgExport(_flgExport);
            if (fmExport.ShowDialog() == DialogResult.No)
            {
                _pathExport = fmExport.GetPathExport();
                _flgExport  = fmExport.GetFlgExport();
                return;
            }
            _pathExport = fmExport.GetPathExport();
            _flgExport  = fmExport.GetFlgExport();

            string       error  = string.Empty;
            List <USTCt> ustCts = new List <USTCt>();
            List <UST6>  ust6s  = new List <UST6>();
            List <UST7>  ust7s  = new List <UST7>();

            if (checkedUSTCts.Count > 0)
            {
                ustCts = checkedUSTCts;
            }
            else
            {
                ustCts.Add(currentUSTCt);
            }
            Coffee.Init("Завантаження даних...");
            foreach (USTCt ustCt in ustCts)
            {
                if ((_flgExport & (int)EnumExportUST.ExportTbl6) > 0)
                {
                    Coffee.Refresh("Завантаження таблиці 6...");
                    ust6s.AddRange(_repoUST6.GetAllUST6ByParams(ustCt.USTCt_Id, out error));
                    if (error != string.Empty)
                    {
                        Coffee.Term();
                        MessageBox.Show("Помилка завантаження таблиці 6", "Помилка");
                        return;
                    }
                }
                if ((_flgExport & (int)EnumExportUST.ExportTbl7) > 0)
                {
                    Coffee.Refresh("Завантаження таблиці 7...");
                    ust7s.AddRange(_repoUST7.GetAllUST7ByParams(ustCt.USTCt_Id, out error));
                    if (error != string.Empty)
                    {
                        Coffee.Term();
                        MessageBox.Show("Помилка завантаження таблиці 7", "Помилка");
                        return;
                    }
                }
            }
            if ((_flgExport & (int)EnumExportUST.ExportTbl6) > 0)
            {
                Coffee.Refresh("Експорт таблиці 6");
                List <ExportUST6> exportUst6 = ExportUST.GetExportDataTbl6(ustCts, ust6s);

                if (!ExportUST.ExportUST6ToDbf(_pathExport, exportUst6, out error))
                {
                    Coffee.Term();
                    MessageBox.Show("Помилка експорту таблиці 6", "Помилка");
                    return;
                }
            }
            if ((_flgExport & (int)EnumExportUST.ExportTbl7) > 0)
            {
                Coffee.Refresh("Експорт таблиці 7");
                List <ExportUST7> exportUst7 = ExportUST.GetExportDataTbl7(ustCts, ust7s);

                if (!ExportUST.ExportUST7ToDbf(_pathExport, exportUst7, out error))
                {
                    Coffee.Term();
                    MessageBox.Show("Помилка експорту таблиці 7", "Помилка");
                    return;
                }
            }

            Coffee.Term();
            MessageBox.Show("Експорт виконаний", "Увага");
        }