/// <summary> /// Retrieves data from the data base into a CSLA editable child business object of type <see cref="Category"/> /// using the criteria provided. /// </summary> /// <param name="criteria">Object of type <see cref="CategoryCriteria"/></param> /// <returns></returns> private void Child_Fetch(CategoryCriteria criteria) { bool cancel = false; OnChildFetching(criteria, ref cancel); if (cancel) { return; } using (var connection = new SqlConnection(ADOHelper.ConnectionString)) { connection.Open(); using (var command = new SqlCommand("[dbo].[CSLA_Category_Select]", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddRange(ADOHelper.SqlParameters(criteria.StateBag)); command.Parameters.AddWithValue("@p_NameHasValue", criteria.NameHasValue); command.Parameters.AddWithValue("@p_DescnHasValue", criteria.DescriptionHasValue); using (var reader = new SafeDataReader(command.ExecuteReader())) { if (reader.Read()) { Map(reader); } else { throw new Exception(String.Format("The record was not found in 'dbo.Category' using the following criteria: {0}.", criteria)); } } } } OnChildFetched(); }
/// <summary> /// Deletes data in the data base using the criteria specified in the CategoryCriteria object. /// </summary> /// <param name="criteria">Object of type <see cref="CategoryCriteria"/></param> /// <returns></returns> protected void DataPortal_Delete(CategoryCriteria criteria, SqlConnection connection) { bool cancel = false; OnDeleting(criteria, connection, ref cancel); if (cancel) { return; } using (var command = new SqlCommand("[dbo].[CSLA_Category_Delete]", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddRange(ADOHelper.SqlParameters(criteria.StateBag)); //result: The number of rows changed, inserted, or deleted. -1 for select statements; 0 if no rows were affected, or the statement failed. int result = command.ExecuteNonQuery(); if (result == 0) { throw new DBConcurrencyException("The entity is out of date on the client. Please update the entity and try again. This could also be thrown if the sql statement failed to execute."); } } OnDeleted(); }
protected override void DataPortal_Execute() { string commandText = String.Format("SELECT COUNT(1) FROM {0} {1}", Criteria.TableFullName, ADOHelper.BuildWhereStatement(Criteria.StateBag)); using (var connection = new SqlConnection(ADOHelper.ConnectionString)) { connection.Open(); using (var command = new SqlCommand(commandText, connection)) { command.Parameters.AddRange(ADOHelper.SqlParameters(Criteria.StateBag)); Result = (int)command.ExecuteScalar() > 0; } } }
private void Child_Fetch(CategoryCriteria criteria) { bool cancel = false; OnFetching(criteria, ref cancel); if (cancel) { return; } RaiseListChangedEvents = false; // Fetch Child objects. using (var connection = new SqlConnection(ADOHelper.ConnectionString)) { connection.Open(); using (var command = new SqlCommand("[dbo].[CSLA_Category_Select]", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddRange(ADOHelper.SqlParameters(criteria.StateBag)); command.Parameters.AddWithValue("@p_NameHasValue", criteria.NameHasValue); command.Parameters.AddWithValue("@p_DescnHasValue", criteria.DescriptionHasValue); using (var reader = new SafeDataReader(command.ExecuteReader())) { if (reader.Read()) { do { this.Add(PetShop.Tests.Collections.EditableChild.Category.GetCategory(reader)); } while(reader.Read()); } } } } RaiseListChangedEvents = true; OnFetched(); }