Habanero.BO.ClassDefinition.MultipleRelationshipDef.CreateRelationship C# (CSharp) Method

CreateRelationship() public method

Overrides abstract method of parent to facilitate creation of a new Multiple Relationship
public CreateRelationship ( IBusinessObject owningBo, IBOPropCol lBOPropCol ) : IRelationship
owningBo IBusinessObject The business object that will manage /// this relationship
lBOPropCol IBOPropCol The collection of properties
return IRelationship
		public override IRelationship CreateRelationship(IBusinessObject owningBo, IBOPropCol lBOPropCol)
		{
            var relationshipBOType = typeof(MultipleRelationship<>).MakeGenericType(this.RelatedObjectClassType);
            return (IMultipleRelationship)Activator.CreateInstance(relationshipBOType, owningBo, this, lBOPropCol, this.TimeOut);
		}

Usage Example

 public void Test_CreateMultipleRelationshipDef_Association()
 {
     //---------------Set up test pack-------------------
     BORegistry.DataAccessor = new DataAccessorInMemory();
     ClassDef.ClassDefs.Clear();
     OrganisationTestBO.LoadDefaultClassDef();
     ContactPersonTestBO.LoadDefaultClassDef();
     RelPropDef relPropDef = new RelPropDef(ClassDef.Get<OrganisationTestBO>().PropDefcol["OrganisationID"], "OrganisationID");
     RelKeyDef relKeyDef = new RelKeyDef();
     relKeyDef.Add(relPropDef);
     const int expectedTimeout = 550;
     MultipleRelationshipDef relationshipDef = new MultipleRelationshipDef("ContactPeople", "Habanero.Test.BO",
         "ContactPersonTestBO", relKeyDef, true, "", DeleteParentAction.DeleteRelated, InsertParentAction.InsertRelationship, RelationshipType.Association, expectedTimeout);
     OrganisationTestBO organisation = OrganisationTestBO.CreateSavedOrganisation();
     //---------------Assert Precondition----------------
     Assert.AreEqual(expectedTimeout, relationshipDef.TimeOut);
     //---------------Execute Test ----------------------
     MultipleRelationship<ContactPersonTestBO> relationship = (MultipleRelationship<ContactPersonTestBO>) relationshipDef.CreateRelationship(organisation, organisation.Props);
     //---------------Test Result -----------------------
     Assert.AreEqual(expectedTimeout, relationship.TimeOut);
     Assert.AreEqual(InsertParentAction.InsertRelationship, relationship.RelationshipDef.InsertParentAction);
 }
All Usage Examples Of Habanero.BO.ClassDefinition.MultipleRelationshipDef::CreateRelationship