//Изменить спец стаж public bool ModifySpecExp(RefSpecExp specExp, out string error) { error = string.Empty; if (conn == null) { error = "conn == null"; return(false); } if (specExp == null) { error = "specExp == null"; return(false); } SqlCommand command = new SqlCommand(this.spRefSpecExpUpdate, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inRefSpecExp_Id", specExp.RefSpecExp_Id); command.Parameters.AddWithValue("@inRefSpecExp_Cd", specExp.RefSpecExp_Cd); command.Parameters.AddWithValue("@inRefSpecExp_ShortName", specExp.RefSpecExp_ShortName); command.Parameters.AddWithValue("@inRefSpecExp_Name", specExp.RefSpecExp_Name); try { command.ExecuteNonQuery(); } catch (Exception ex) { error = ex.Message; return(false); } return(true); }
//Получить строку спец стажа по id public RefSpecExp GetSpecExpById(int id, out string error) { error = string.Empty; RefSpecExp resRefSpecExp = null; if (conn == null) { error = "conn == null"; return(null); } SqlCommand command = new SqlCommand(this.spRefSpecExpSelect, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inRefSpecExp_Id", id); try { SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { reader.Read(); resRefSpecExp = new RefSpecExp(); FillDataRec(reader, resRefSpecExp); } reader.Close(); } catch (Exception ex) { error = ex.Message; } return(resRefSpecExp); }
//Обновление строки private void UpdateRecord() { if (dgvRefSpecExp.CurrentRow == null) { return; } RefSpecExp specExp = dgvRefSpecExp.CurrentRow.DataBoundItem as RefSpecExp; if (specExp == null) { MessageBox.Show("Не знайдений рядок для оновлення", "Помилка"); return; } fmRefSpecExpEdit fmEdit = new fmRefSpecExpEdit(EnumFormMode.Edit, "Зміна спецстажу"); fmEdit.SetData(specExp); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; specExp = fmEdit.GetData(); if (!_repository.ModifySpecExp(specExp, out error)) { MessageBox.Show("Помилка оновлення рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); } }
public void SetData(RefSpecExp specExp) { if (specExp == null) { return; } id = specExp.RefSpecExp_Id; tbCode.Text = specExp.RefSpecExp_Cd; tbShortName.Text = specExp.RefSpecExp_ShortName; tbName.Text = specExp.RefSpecExp_Name; }
private void FillDataRec(SqlDataReader reader, RefSpecExp specExp) { int resInt = 0; if (int.TryParse(reader["RefSpecExp_Id"].ToString(), out resInt)) { specExp.RefSpecExp_Id = resInt; } specExp.RefSpecExp_Cd = reader["RefSpecExp_Cd"].ToString(); specExp.RefSpecExp_ShortName = reader["RefSpecExp_ShortName"].ToString(); specExp.RefSpecExp_Name = reader["RefSpecExp_Name"].ToString(); }
//Вставка строки private void InsertRecord() { fmRefSpecExpEdit fmEdit = new fmRefSpecExpEdit(EnumFormMode.Insert, "Створення спецстажу"); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; RefSpecExp specExp = fmEdit.GetData(); if (!_repository.AddSpecExp(specExp, out error)) { MessageBox.Show("Помилка додавання спецстажу.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); } }
//Вставка строки private void InsertRecord() { fmRefSpecExpEdit fmEdit = new fmRefSpecExpEdit(EnumFormMode.Insert, "Створення спецстажу"); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; RefSpecExp specExp = fmEdit.GetData(); int id = _repository.AddSpecExp(specExp, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); dgvRefSpecExp.SetPositionRow <RefSpecExp>("RefSpecExp_Id", id.ToString()); } }
//Добавить спец стаж public int AddSpecExp(RefSpecExp specExp, out string error) { error = string.Empty; if (specExp == null) { error = "specExp == null"; return(0); } if (conn == null) { error = "conn == null"; return(0); } SqlCommand command = new SqlCommand(spRefSpecExpInsert, conn); command.CommandType = System.Data.CommandType.StoredProcedure; command.Connection = conn; command.Parameters.AddWithValue("@inRefSpecExp_Cd", specExp.RefSpecExp_Cd); command.Parameters.AddWithValue("@inRefSpecExp_C_Pid", specExp.RefSpecExp_C_Pid); command.Parameters.AddWithValue("@inRefSpecExp_Name", specExp.RefSpecExp_Name); // определяем выходной параметр 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 DeleteRecord() { if (dgvRefSpecExp.CurrentRow == null) { return; } if (MessageBox.Show("Ви впевнені, що бажаєте видалити обраний рядок?", "Видалення", MessageBoxButtons.YesNo) == DialogResult.No) { return; } RefSpecExp specExp = dgvRefSpecExp.CurrentRow.DataBoundItem as RefSpecExp; string error; if (!_repository.DeleteSpecExp(specExp.RefSpecExp_Id, out error)) { MessageBox.Show("Помилка видалення рядка.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); }
//Получить справочник спец стажа public List <RefSpecExp> GetAllSpecExps(out string error) { error = string.Empty; List <RefSpecExp> refSpecExps = new List <RefSpecExp>(); if (conn == null) { error = "conn == null"; return(refSpecExps); } SqlCommand command = new SqlCommand(spRefSpecExpSelect, conn); command.CommandType = System.Data.CommandType.StoredProcedure; SqlDataReader reader = null; try { reader = command.ExecuteReader(); while (reader.Read()) { RefSpecExp refSpecExp = new RefSpecExp(); FillDataRec(reader, refSpecExp); refSpecExps.Add(refSpecExp); } } catch (Exception exc) { error = exc.Message; } finally { if (reader != null) { reader.Close(); } } return(refSpecExps); }