FinishCreate then needs to be called, and this will go through and perform the following:
-
Generate a UID if it doesn't have one; it uses the ClassDef Extension property to do this.
-
Generates an OBID if it doesn't have one.
-
Sets all the OBIDs on the interfaces and properties.
-
Sets CreationDate, User, LastUpdateDate, and Termination Date if they are not already set.
-
Sets the DomainUID using the component schema -> domain relationship.
-
If the object is a Relationship, then it goes through and sets up the End1Relationships and End2Relationships.
-
It will work out whether the object should have a configuration; it looks at the ClassDef extension to determine this, and if it is a relationship, then it will look at both objects.
-
It then adds the new item into the Transaction.Items collection; all items Creations, Updates, and so on go into the Items collection until the Commit method on the transaction is called.
-
Adds the new object into the ProcessCache. Depending on the ClassDef, it may go into the application cache.