ERCLevel
B02Level1.Designer.cs
using System;
using System.Data;
using System.Data.SqlClient;
using Csla;
using Csla.Data;
namespace ParentLoad.Business.ERCLevel
{
///
/// B02Level1 (editable child object).
/// This is a generated base clast of business object.
///
///
/// This clast contains one child collection:
/// - of type (1:M relation to )
/// This clast is an item of collection.
///
[Serializable]
public partial clast B02Level1 : BusinessBase
{
#region Static Fields
private static int _lastID;
#endregion
#region Business Properties
///
/// Maintains metadata about property.
///
public static readonly PropertyInfo Level_1_IDProperty = RegisterProperty(p => p.Level_1_ID, "Level_1 ID");
///
/// Gets the Level_1 ID.
///
/// The Level_1 ID.
public int Level_1_ID
{
get { return GetProperty(Level_1_IDProperty); }
}
///
/// Maintains metadata about property.
///
public static readonly PropertyInfo Level_1_NameProperty = RegisterProperty(p => p.Level_1_Name, "Level_1 Name");
///
/// Gets or sets the Level_1 Name.
///
/// The Level_1 Name.
public string Level_1_Name
{
get { return GetProperty(Level_1_NameProperty); }
set { SetProperty(Level_1_NameProperty, value); }
}
///
/// Maintains metadata about child property.
///
public static readonly PropertyInfo B03Level11SingleObjectProperty = RegisterProperty(p => p.B03Level11SingleObject, "B3 Level11 Single Object", RelationshipTypes.Child);
///
/// Gets the B03 Level11 Single Object ("parent load" child property).
///
/// The B03 Level11 Single Object.
public B03Level11Child B03Level11SingleObject
{
get { return GetProperty(B03Level11SingleObjectProperty); }
private set { LoadProperty(B03Level11SingleObjectProperty, value); }
}
///
/// Maintains metadata about child property.
///
public static readonly PropertyInfo B03Level11ASingleObjectProperty = RegisterProperty(p => p.B03Level11ASingleObject, "B3 Level11 ASingle Object", RelationshipTypes.Child);
///
/// Gets the B03 Level11 ASingle Object ("parent load" child property).
///
/// The B03 Level11 ASingle Object.
public B03Level11ReChild B03Level11ASingleObject
{
get { return GetProperty(B03Level11ASingleObjectProperty); }
private set { LoadProperty(B03Level11ASingleObjectProperty, value); }
}
///
/// Maintains metadata about child property.
///
public static readonly PropertyInfo B03Level11ObjectsProperty = RegisterProperty(p => p.B03Level11Objects, "B3 Level11 Objects", RelationshipTypes.Child);
///
/// Gets the B03 Level11 Objects ("parent load" child property).
///
/// The B03 Level11 Objects.
public B03Level11Coll B03Level11Objects
{
get { return GetProperty(B03Level11ObjectsProperty); }
private set { LoadProperty(B03Level11ObjectsProperty, value); }
}
#endregion
#region Factory Methods
///
/// Factory method. Creates a new object.
///
/// A reference to the created object.
internal static B02Level1 NewB02Level1()
{
return DataPortal.CreateChild();
}
///
/// Factory method. Loads a object from the given SafeDataReader.
///
/// The SafeDataReader to use.
/// A reference to the fetched object.
internal static B02Level1 GetB02Level1(SafeDataReader dr)
{
B02Level1 obj = new B02Level1();
// show the framework that this is a child object
obj.MarkAsChild();
obj.Fetch(dr);
obj.LoadProperty(B03Level11ObjectsProperty, B03Level11Coll.NewB03Level11Coll());
obj.MarkOld();
return obj;
}
#endregion
#region Constructor
///
/// Initializes a new instance of the clast.
///
/// Do not use to create a Csla object. Use factory methods instead.
private B02Level1()
{
// Prevent direct creation
// show the framework that this is a child object
MarkAsChild();
}
#endregion
#region Data Access
///
/// Loads default values for the object properties.
///
[Csla.RunLocal]
protected override void Child_Create()
{
LoadProperty(Level_1_IDProperty, System.Threading.Interlocked.Decrement(ref _lastID));
LoadProperty(B03Level11SingleObjectProperty, DataPortal.CreateChild());
LoadProperty(B03Level11ASingleObjectProperty, DataPortal.CreateChild());
LoadProperty(B03Level11ObjectsProperty, DataPortal.CreateChild());
var args = new DataPortalHookArgs();
OnCreate(args);
base.Child_Create();
}
///
/// Loads a object from the given SafeDataReader.
///
/// The SafeDataReader to use.
private void Fetch(SafeDataReader dr)
{
// Value properties
LoadProperty(Level_1_IDProperty, dr.GetInt32("Level_1_ID"));
LoadProperty(Level_1_NameProperty, dr.GetString("Level_1_Name"));
var args = new DataPortalHookArgs(dr);
OnFetchRead(args);
}
///
/// Loads child objects from the given SafeDataReader.
///
/// The SafeDataReader to use.
internal void FetchChildren(SafeDataReader dr)
{
dr.NextResult();
while (dr.Read())
{
var child = B03Level11Child.GetB03Level11Child(dr);
var obj = ((B01Level1Coll)Parent).FindB02Level1ByParentProperties(child.cParentID1);
obj.LoadProperty(B03Level11SingleObjectProperty, child);
}
dr.NextResult();
while (dr.Read())
{
var child = B03Level11ReChild.GetB03Level11ReChild(dr);
var obj = ((B01Level1Coll)Parent).FindB02Level1ByParentProperties(child.cParentID2);
obj.LoadProperty(B03Level11ASingleObjectProperty, child);
}
dr.NextResult();
var b03Level11Coll = B03Level11Coll.GetB03Level11Coll(dr);
b03Level11Coll.LoadItems((B01Level1Coll)Parent);
dr.NextResult();
while (dr.Read())
{
var child = B05Level111ReChild.GetB05Level111ReChild(dr);
var obj = b03Level11Coll.FindB04Level11ByParentProperties(child.cMarentID2);
obj.LoadChild(child);
}
dr.NextResult();
while (dr.Read())
{
var child = B05Level111Child.GetB05Level111Child(dr);
var obj = b03Level11Coll.FindB04Level11ByParentProperties(child.cMarentID1);
obj.LoadChild(child);
}
dr.NextResult();
var b05Level111Coll = B05Level111Coll.GetB05Level111Coll(dr);
b05Level111Coll.LoadItems(b03Level11Coll);
dr.NextResult();
while (dr.Read())
{
var child = B07Level1111Child.GetB07Level1111Child(dr);
var obj = b05Level111Coll.FindB06Level111ByParentProperties(child.cLarentID1);
obj.LoadChild(child);
}
dr.NextResult();
while (dr.Read())
{
var child = B07Level1111ReChild.GetB07Level1111ReChild(dr);
var obj = b05Level111Coll.FindB06Level111ByParentProperties(child.cLarentID2);
obj.LoadChild(child);
}
dr.NextResult();
var b07Level1111Coll = B07Level1111Coll.GetB07Level1111Coll(dr);
b07Level1111Coll.LoadItems(b05Level111Coll);
dr.NextResult();
while (dr.Read())
{
var child = B09Level11111Child.GetB09Level11111Child(dr);
var obj = b07Level1111Coll.FindB08Level1111ByParentProperties(child.cNarentID1);
obj.LoadChild(child);
}
dr.NextResult();
while (dr.Read())
{
var child = B09Level11111ReChild.GetB09Level11111ReChild(dr);
var obj = b07Level1111Coll.FindB08Level1111ByParentProperties(child.cNarentID2);
obj.LoadChild(child);
}
dr.NextResult();
var b09Level11111Coll = B09Level11111Coll.GetB09Level11111Coll(dr);
b09Level11111Coll.LoadItems(b07Level1111Coll);
dr.NextResult();
while (dr.Read())
{
var child = B11Level111111Child.GetB11Level111111Child(dr);
var obj = b09Level11111Coll.FindB10Level11111ByParentProperties(child.cQarentID1);
obj.LoadChild(child);
}
dr.NextResult();
while (dr.Read())
{
var child = B11Level111111ReChild.GetB11Level111111ReChild(dr);
var obj = b09Level11111Coll.FindB10Level11111ByParentProperties(child.cQarentID2);
obj.LoadChild(child);
}
dr.NextResult();
var b11Level111111Coll = B11Level111111Coll.GetB11Level111111Coll(dr);
b11Level111111Coll.LoadItems(b09Level11111Coll);
}
///
/// Inserts a new object in the database.
///
[Transactional(TransactionalTypes.TransactionScope)]
private void Child_Insert()
{
using (var ctx = ConnectionManager.GetManager("DeepLoad"))
{
using (var cmd = new SqlCommand("AddB02Level1", ctx.Connection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Level_1_ID", ReadProperty(Level_1_IDProperty)).Direction = ParameterDirection.Output;
cmd.Parameters.AddWithValue("@Level_1_Name", ReadProperty(Level_1_NameProperty)).DbType = DbType.String;
var args = new DataPortalHookArgs(cmd);
OnInsertPre(args);
cmd.ExecuteNonQuery();
OnInsertPost(args);
LoadProperty(Level_1_IDProperty, (int) cmd.Parameters["@Level_1_ID"].Value);
}
FieldManager.UpdateChildren(this);
}
}
///
/// Updates in the database all changes made to the object.
///
[Transactional(TransactionalTypes.TransactionScope)]
private void Child_Update()
{
using (var ctx = ConnectionManager.GetManager("DeepLoad"))
{
using (var cmd = new SqlCommand("UpdateB02Level1", ctx.Connection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Level_1_ID", ReadProperty(Level_1_IDProperty)).DbType = DbType.Int32;
cmd.Parameters.AddWithValue("@Level_1_Name", ReadProperty(Level_1_NameProperty)).DbType = DbType.String;
var args = new DataPortalHookArgs(cmd);
OnUpdatePre(args);
cmd.ExecuteNonQuery();
OnUpdatePost(args);
}
FieldManager.UpdateChildren(this);
}
}
///
/// Self deletes the object from database.
///
[Transactional(TransactionalTypes.TransactionScope)]
private void Child_DeleteSelf()
{
using (var ctx = ConnectionManager.GetManager("DeepLoad"))
{
// flushes all pending data operations
FieldManager.UpdateChildren(this);
using (var cmd = new SqlCommand("DeleteB02Level1", ctx.Connection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Level_1_ID", ReadProperty(Level_1_IDProperty)).DbType = DbType.Int32;
var args = new DataPortalHookArgs(cmd);
OnDeletePre(args);
cmd.ExecuteNonQuery();
OnDeletePost(args);
}
}
// removes all previous references to children
LoadProperty(B03Level11SingleObjectProperty, DataPortal.CreateChild());
LoadProperty(B03Level11ASingleObjectProperty, DataPortal.CreateChild());
LoadProperty(B03Level11ObjectsProperty, DataPortal.CreateChild());
}
#endregion
#region Pseudo Events
///
/// Occurs after setting all defaults for object creation.
///
partial void OnCreate(DataPortalHookArgs args);
///
/// Occurs in DataPortal_Delete, after setting query parameters and before the delete operation.
///
partial void OnDeletePre(DataPortalHookArgs args);
///
/// Occurs in DataPortal_Delete, after the delete operation, before Commit().
///
partial void OnDeletePost(DataPortalHookArgs args);
///
/// Occurs after setting query parameters and before the fetch operation.
///
partial void OnFetchPre(DataPortalHookArgs args);
///
/// Occurs after the fetch operation (object or collection is fully loaded and set up).
///
partial void OnFetchPost(DataPortalHookArgs args);
///
/// Occurs after the low level fetch operation, before the data reader is destroyed.
///
partial void OnFetchRead(DataPortalHookArgs args);
///
/// Occurs after setting query parameters and before the update operation.
///
partial void OnUpdatePre(DataPortalHookArgs args);
///
/// Occurs in DataPortal_Insert, after the update operation, before setting back row identifiers (RowVersion) and Commit().
///
partial void OnUpdatePost(DataPortalHookArgs args);
///
/// Occurs in DataPortal_Insert, after setting query parameters and before the insert operation.
///
partial void OnInsertPre(DataPortalHookArgs args);
///
/// Occurs in DataPortal_Insert, after the insert operation, before setting back row identifiers (ID and RowVersion) and Commit().
///
partial void OnInsertPost(DataPortalHookArgs args);
#endregion
}
}