//Получить строку типа доп. удержания public RefTypeAddAccr GetTypeAaddAccrById(int id, out string error) { error = string.Empty; RefTypeAddAccr resTypeAddAccr = null; if (conn == null) { error = "conn == null"; return(null); } SqlCommand command = new SqlCommand(spRefTypeAddAccrSelect, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inRefTypeAddAccr_Id", id); try { SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { reader.Read(); resTypeAddAccr = new RefTypeAddAccr(); FillDataRec(reader, resTypeAddAccr); } reader.Close(); } catch (Exception ex) { error = ex.Message; } return(resTypeAddAccr); }
//Обновление строки private void UpdateRecord() { if (dgvRefTypeAddAccr.CurrentRow == null) { return; } string error; v_RefTypeAddAccr v_typeAddAccr = dgvRefTypeAddAccr.CurrentRow.DataBoundItem as v_RefTypeAddAccr; if (v_typeAddAccr == null) { MessageBox.Show("Не знайдений рядок для оновлення", "Помилка"); return; } fmRefTypeAddAccrEdit fmEdit = new fmRefTypeAddAccrEdit(EnumFormMode.Edit, "Зміна типу додаткового нарахування"); fmEdit.SetData(_refTypeAddAccrs.FirstOrDefault(rec => rec.RefTypeAddAccr_Id == v_typeAddAccr.RefTypeAddAccr_Id)); if (fmEdit.ShowDialog() == DialogResult.OK) { RefTypeAddAccr typeAddAccr = fmEdit.GetData(); if (!_repository.ModifyTypeAaddAccr(typeAddAccr, out error)) { MessageBox.Show("Помилка оновлення рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); } }
//Изменить тип доп. начисления public bool ModifyTypeAaddAccr(RefTypeAddAccr typeAddAccr, out string error) { error = string.Empty; if (conn == null) { error = "conn == null"; return(false); } if (typeAddAccr == null) { error = "typeAddAccr == null"; return(false); } SqlCommand command = new SqlCommand(spRefTypeAddAccrUpdate, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inRefTypeAddAccr_Id", typeAddAccr.RefTypeAddAccr_Id); command.Parameters.AddWithValue("@inRefTypeAddAccr_Cd", typeAddAccr.RefTypeAddAccr_Cd); command.Parameters.AddWithValue("@inRefTypeAddAccr_Nm", typeAddAccr.RefTypeAddAccr_Nm); command.Parameters.AddWithValue("@inRefTypeAddAccr_Flg", typeAddAccr.RefTypeAddAccr_Flg); try { command.ExecuteNonQuery(); } catch (Exception ex) { error = ex.Message; return(false); } return(true); }
public void SetData(RefTypeAddAccr typeAddAccr) { if (typeAddAccr == null) { return; } id = typeAddAccr.RefTypeAddAccr_Id; tbCode.Text = typeAddAccr.RefTypeAddAccr_Cd; tbName.Text = typeAddAccr.RefTypeAddAccr_Nm; cbClc.Checked = (typeAddAccr.RefTypeAddAccr_Flg & (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc) > 0 ? true : false; }
private void FillDataRec(SqlDataReader reader, RefTypeAddAccr typeAddAccr) { int resInt = 0; if (int.TryParse(reader["RefTypeAddAccr_Id"].ToString(), out resInt)) { typeAddAccr.RefTypeAddAccr_Id = resInt; } typeAddAccr.RefTypeAddAccr_Cd = reader["RefTypeAddAccr_Cd"].ToString(); typeAddAccr.RefTypeAddAccr_Nm = reader["RefTypeAddAccr_Nm"].ToString(); if (int.TryParse(reader["RefTypeAddAccr_Flg"].ToString(), out resInt)) { typeAddAccr.RefTypeAddAccr_Flg = resInt; } }
public RefTypeAddAccr GetData() { RefTypeAddAccr typeAddAccr = new RefTypeAddAccr(); typeAddAccr.RefTypeAddAccr_Id = id; typeAddAccr.RefTypeAddAccr_Cd = tbCode.Text; typeAddAccr.RefTypeAddAccr_Nm = tbName.Text; if (cbClc.Checked) { typeAddAccr.RefTypeAddAccr_Flg |= (int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc; } else { typeAddAccr.RefTypeAddAccr_Flg &= ~(int)EnumTypeAddAccr_Flg.TypeAddAccr_Clc; } return(typeAddAccr); }
//Вставка строки private void InsertRecord() { fmRefTypeAddAccrEdit fmEdit = new fmRefTypeAddAccrEdit(EnumFormMode.Insert, "Створення типу додаткового нарахування"); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; RefTypeAddAccr pensAllwnc = fmEdit.GetData(); int id = _repository.AddTypeAaddAccr(pensAllwnc, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); dgvRefTypeAddAccr.SetPositionRow <v_RefTypeAddAccr>("RefTypeAddAccr_Id", id.ToString()); } }
//Добавить тип доп. начисления public int AddTypeAaddAccr(RefTypeAddAccr typeAddAccr, out string error) { error = string.Empty; if (typeAddAccr == null) { error = "typeAddAccr == null"; return(0); } if (conn == null) { error = "conn == null"; return(0); } SqlCommand command = new SqlCommand(spRefTypeAddAccrInsert, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inRefTypeAddAccr_Cd", typeAddAccr.RefTypeAddAccr_Cd); command.Parameters.AddWithValue("@inRefTypeAddAccr_Nm", typeAddAccr.RefTypeAddAccr_Nm); command.Parameters.AddWithValue("@inRefTypeAddAccr_Flg", typeAddAccr.RefTypeAddAccr_Flg); // определяем выходной параметр 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 <RefTypeAddAccr> GetAllTypeAddAccr(out string error) { error = string.Empty; List <RefTypeAddAccr> typeAddAccrs = new List <RefTypeAddAccr>(); if (conn == null) { error = "conn == null"; return(typeAddAccrs); } SqlCommand command = new SqlCommand(spRefTypeAddAccrSelect, conn); command.CommandType = System.Data.CommandType.StoredProcedure; SqlDataReader reader = null; try { reader = command.ExecuteReader(); while (reader.Read()) { RefTypeAddAccr refTypeAddAccr = new RefTypeAddAccr(); FillDataRec(reader, refTypeAddAccr); typeAddAccrs.Add(refTypeAddAccr); } } catch (Exception exc) { error = exc.Message; } finally { if (reader != null) { reader.Close(); } } return(typeAddAccrs); }