/// <summary> /// Persists the object. /// </summary> public virtual void Persist(Explanation persistObject, SqlTransaction sqlTrans) { // create local variable array for the sql parameters SqlParameterHash sqlparams = null; // Create a local variable for the connection SqlConnection cnn = null; // Use the parameter overload or create a new instance if (sqlTrans == null) cnn = new SqlConnection(Explanation.GetConnectionString()); try { // discover the parameters if (persistObject.Persisted) sqlparams = SqlHelperParameterCache.GetSpParameterSet(Explanation.GetConnectionString(), "gsp_UpdateExplanation"); else sqlparams = SqlHelperParameterCache.GetSpParameterSet(Explanation.GetConnectionString(), "gsp_CreateExplanation"); // Store the parameter for the BorrowerId attribute. sqlparams["@borrowerId"].Value = persistObject.BorrowerId; // Store the parameter for the Type attribute. sqlparams["@type"].Value = persistObject.Type; // Store the parameter for the Description attribute. if (!persistObject.DescriptionIsNull) sqlparams["@description"].Value = persistObject.Description; // Store the parameter for the Id attribute. if (!persistObject.Persisted) { // store the create only (historical fixed) values } else { // store the update only (historical changeable) values // Store the parameter for the Id attribute. sqlparams["@id"].Value = persistObject.Id; } if (sqlTrans == null) { // Process using the isolated connection using (cnn) { // open the connection cnn.Open(); if (!persistObject.Persisted) { persistObject._id = Convert.ToInt64(SqlHelper.ExecuteScalar(cnn, CommandType.StoredProcedure, "gsp_CreateExplanation", sqlparams)); } else { SqlHelper.ExecuteNonQuery(cnn, CommandType.StoredProcedure, "gsp_UpdateExplanation", sqlparams); } // close the connection after usage cnn.Close(); } // nullify the connection var cnn = null; } else { // Process using the shared transaction if (!persistObject.Persisted) { persistObject._id = Convert.ToInt64(SqlHelper.ExecuteScalar(sqlTrans, CommandType.StoredProcedure, "gsp_CreateExplanation", sqlparams)); } else { SqlHelper.ExecuteNonQuery(sqlTrans, CommandType.StoredProcedure, "gsp_UpdateExplanation", sqlparams); } } } catch (SqlException sqlex) { throw sqlex; } }
/// <summary> /// Fills a single instance with data based on its primary key values. /// </summary> public virtual void Fill(Explanation explanation, System.Int64 id) { // create the connection to use SqlConnection cnn = new SqlConnection(Explanation.GetConnectionString()); try { // discover the sql parameters SqlParameterHash sqlparams = SqlHelperParameterCache.GetSpParameterSet(Explanation.GetConnectionString(), "gsp_SelectExplanation"); using (cnn) { // open the connection cnn.Open(); // set the parameters sqlparams["@id"].Value = id; // create an instance of the reader to fill. SqlDataReader datareader = SqlHelper.ExecuteReader(cnn, "gsp_SelectExplanation", sqlparams); if (datareader.Read()) explanation.SetMembers(ref datareader); cnn.Close(); // close the connection } // nullify the connection var cnn = null; } catch (SqlException sqlex) { throw sqlex; } }
/// <summary> /// Persists the object. /// </summary> public virtual void Persist(Explanation persistObject) { // Make a call to the overloaded method with a null transaction Persist(persistObject, null); }
/// <summary> /// Deletes the object. /// </summary> public virtual void Delete(Explanation deleteObject) { // create a new instance of the connection SqlConnection cnn = new SqlConnection(Explanation.GetConnectionString()); // create local variable array for the sql parameters SqlParameterHash sqlparams = null; try { // discover the parameters sqlparams = SqlHelperParameterCache.GetSpParameterSet(Explanation.GetConnectionString(), "gsp_DeleteExplanation"); // Store the parameter for the Id attribute. sqlparams["@id"].Value = deleteObject.Id; using (cnn) { // open the connection cnn.Open(); // Execute the stored proc to perform the delete on the instance. SqlHelper.ExecuteNonQuery(cnn, CommandType.StoredProcedure, "gsp_DeleteExplanation", sqlparams); // close the connection after usage cnn.Close(); } // nullify the connection var cnn = null; } catch (SqlException sqlex) { throw sqlex; } // nullify the reference deleteObject = null; }