//Изменить запись договора ГПХ public bool ModifyLawContract(LawContract lawContract, out string error) { error = string.Empty; if (conn == null) { error = "conn == null"; return(false); } if (lawContract == null) { error = "lawContract == null"; return(false); } SqlCommand command = new SqlCommand(spLawContractUpdate, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inLawContract_Id", lawContract.LawContract_Id); command.Parameters.AddWithValue("@inLawContract_PersCard_Id", lawContract.LawContract_PersCard_Id == 0 ? Convert.DBNull : lawContract.LawContract_PersCard_Id); command.Parameters.AddWithValue("@inLawContract_RefDep_Id", lawContract.LawContract_RefDep_Id == 0 ? Convert.DBNull : lawContract.LawContract_RefDep_Id); command.Parameters.AddWithValue("@inLawContract_Date", lawContract.LawContract_Date == DateTime.MinValue ? Convert.DBNull : lawContract.LawContract_Date); command.Parameters.AddWithValue("@inLawContract_Days", lawContract.LawContract_Days); command.Parameters.AddWithValue("@inLawContract_Sm", lawContract.LawContract_Sm); command.Parameters.AddWithValue("@inLawContract_PayDate", lawContract.LawContract_PayDate == DateTime.MinValue ? Convert.DBNull : lawContract.LawContract_PayDate); try { command.ExecuteNonQuery(); } catch (Exception ex) { error = ex.Message; return(false); } return(true); }
//Обновление строки private void UpdateRecord() { if (dgvLawContract.CurrentRow == null) { return; } v_LawContract vLawContract = dgvLawContract.CurrentRow.DataBoundItem as v_LawContract; if (vLawContract == null) { MessageBox.Show("Не знайдений рядок для оновлення", "Помилка"); return; } fmLawContractEdit fmEdit = new fmLawContractEdit(EnumFormMode.Edit, "Зміна договора ЦПХ"); fmEdit.SetData(vLawContract); if (fmEdit.ShowDialog() == DialogResult.OK) { LawContract LawContract = fmEdit.GetData(); string error; if (!_repoLawContract.ModifyLawContract(LawContract, out error)) { MessageBox.Show("Помилка оновлення рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableLawContract(_depId, _datBeg, _datEnd); } }
//Получить договора ГПХ по параметрам public List <LawContract> GetLawContractsByParams(int lawContract_id, int refDep_id, DateTime lawContract_dateBeg, DateTime lawContract_dateEnd, out string error) { error = string.Empty; List <LawContract> lawContracts = new List <LawContract>(); if (conn == null) { error = "conn == null"; return(lawContracts); } if (lawContract_id == 0 && refDep_id == 0 && lawContract_dateBeg == DateTime.MinValue && lawContract_dateEnd == DateTime.MinValue) { error = "Не задані вхідні параметри"; return(lawContracts); } if (lawContract_dateBeg == DateTime.MinValue || lawContract_dateEnd == DateTime.MinValue) { error = "Не заданий період"; return(lawContracts); } SqlCommand command = new SqlCommand(spLawContractSelect, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inLawContract_Id", lawContract_id); command.Parameters.AddWithValue("@inLawContract_RefDep_Id", refDep_id); command.Parameters.AddWithValue("@inLawContract_DateBeg", (lawContract_dateBeg == DateTime.MinValue) ? Convert.DBNull : lawContract_dateBeg); command.Parameters.AddWithValue("@inLawContract_DateEnd", (lawContract_dateEnd == DateTime.MinValue) ? Convert.DBNull : lawContract_dateEnd); SqlDataReader reader = null; try { reader = command.ExecuteReader(); while (reader.Read()) { LawContract lawContract = new LawContract(); FillDataRec(reader, lawContract); lawContracts.Add(lawContract); } } catch (Exception ex) { error = ex.Message; } finally { if (reader != null) { reader.Close(); } } return(lawContracts); }
public void SetData(LawContract lawContract) { _id = lawContract.LawContract_Id; cmbCalendar.SelectedIndex = SalaryHelper.GetIndexByDate( DateTime.Today.Year - SetupProgram.YearSalary, lawContract.LawContract_Date, false); cmbCard.ReadCombobox(lawContract.LawContract_PersCard_Id); cmbDep.ReadCombobox(lawContract.LawContract_RefDep_Id); cmbPayDate.SelectedIndex = SalaryHelper.GetIndexByDate( DateTime.Today.Year - SetupProgram.VocationPayYear, lawContract.LawContract_PayDate, false); tbDays.Text = lawContract.LawContract_Days.ToString(); tbSm.Text = lawContract.LawContract_Sm.ToString("0.00"); }
//Добавить договора ГПХ public int AddLawContract(LawContract lawContract, out string error) { error = string.Empty; if (lawContract == null) { error = "lawContract == null"; return(0); } if (conn == null) { error = "conn == null"; return(0); } SqlCommand command = new SqlCommand(spLawContractInsert, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inLawContract_PersCard_Id", lawContract.LawContract_PersCard_Id == 0 ? Convert.DBNull : lawContract.LawContract_PersCard_Id); command.Parameters.AddWithValue("@inLawContract_RefDep_Id", lawContract.LawContract_RefDep_Id == 0 ? Convert.DBNull : lawContract.LawContract_RefDep_Id); command.Parameters.AddWithValue("@inLawContract_Date", lawContract.LawContract_Date == DateTime.MinValue ? Convert.DBNull : lawContract.LawContract_Date); command.Parameters.AddWithValue("@inLawContract_Days", lawContract.LawContract_Days); command.Parameters.AddWithValue("@inLawContract_Sm", lawContract.LawContract_Sm); command.Parameters.AddWithValue("@inLawContract_PayDate", lawContract.LawContract_PayDate == DateTime.MinValue ? Convert.DBNull : lawContract.LawContract_PayDate); // определяем выходной параметр 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); }
//Получить список договоров ГПХ public List <LawContract> GetAllLawContracts(out string error) { error = string.Empty; List <LawContract> lawContracts = new List <LawContract>(); if (conn == null) { error = "conn == null"; return(lawContracts); } SqlCommand command = new SqlCommand(spLawContractSelect, conn); command.CommandType = System.Data.CommandType.StoredProcedure; SqlDataReader reader = null; try { reader = command.ExecuteReader(); while (reader.Read()) { LawContract lawContract = new LawContract(); FillDataRec(reader, lawContract); lawContracts.Add(lawContract); } } catch (Exception exc) { error = exc.Message; } finally { if (reader != null) { reader.Close(); } } return(lawContracts); }
private void FillDataRec(SqlDataReader reader, LawContract lawContract) { int resInt = 0; DateTime resDate = DateTime.MinValue; decimal resDec = 0; if (int.TryParse(reader["LawContract_Id"].ToString(), out resInt)) { lawContract.LawContract_Id = resInt; } if (int.TryParse(reader["LawContract_PersCard_Id"].ToString(), out resInt)) { lawContract.LawContract_PersCard_Id = resInt; } if (int.TryParse(reader["LawContract_RefDep_Id"].ToString(), out resInt)) { lawContract.LawContract_RefDep_Id = resInt; } if (DateTime.TryParse(reader["LawContract_Date"].ToString(), out resDate)) { lawContract.LawContract_Date = resDate; } if (int.TryParse(reader["LawContract_Days"].ToString(), out resInt)) { lawContract.LawContract_Days = resInt; } if (decimal.TryParse(reader["LawContract_Sm"].ToString(), out resDec)) { lawContract.LawContract_Sm = resDec; } if (DateTime.TryParse(reader["LawContract_PayDate"].ToString(), out resDate)) { lawContract.LawContract_PayDate = resDate; } if (decimal.TryParse(reader["LawContract_ResSm"].ToString(), out resDec)) { lawContract.LawContract_ResSm = resDec; } }
//Вставка строки private void InsertRecord() { fmLawContractEdit fmEdit = new fmLawContractEdit(EnumFormMode.Insert, "Створення договора ЦПХ"); LawContract setLawContract = new LawContract(); int month = SalaryHelper.GetMonthByIndex(cmbCalendar.SelectedIndex, true); if (month == 0) { setLawContract.LawContract_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); setLawContract.LawContract_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) { setLawContract.LawContract_RefDep_Id = dep.Id; } } fmEdit.SetData(setLawContract); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; LawContract getLawContract = fmEdit.GetData(); int id = _repoLawContract.AddLawContract(getLawContract, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTableLawContract(_depId, _datBeg, _datEnd); dgvLawContract.SetPositionRow <v_LawContract>("LawContract_Id", id.ToString()); } }
public LawContract GetData() { LawContract lawContract = new LawContract(); lawContract.LawContract_Id = _id; lawContract.LawContract_PersCard_Id = _cmbCardParams.PersCard_Id; lawContract.LawContract_RefDep_Id = _cmbDepParams.RefDep_Id; lawContract.LawContract_Date = SalaryHelper.GetDateByIndex(cmbCalendar.SelectedIndex, DateTime.Today.Year - SetupProgram.YearSalary, false); lawContract.LawContract_PayDate = SalaryHelper.GetDateByIndex(cmbPayDate.SelectedIndex, DateTime.Today.Year - SetupProgram.LawContractPayYear, false); int resInt = 0; decimal resDec = 0; //Дни if (int.TryParse(tbDays.Text, out resInt)) { lawContract.LawContract_Days = resInt; } //Сумма if (decimal.TryParse(tbSm.Text, out resDec)) { lawContract.LawContract_Sm = resDec; } return(lawContract); }