public fmUST(Form owner, USTCt ustCt) { InitializeComponent(); this.SingleFormMode(owner); this.BaseFormStyle("Единий соціальний внесок. Таблиці"); _ustCt = ustCt; }
//Обновление строки 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; } }
//Физическое удаление строки 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);; }
//Вставка строки 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()); } }
//Расчет строки 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(); }
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); }
//Вход в документ 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(); }
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); }
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); }
// 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("Експорт виконаний", "Увага"); }