/// <summary> /// DereferenceThe Child <see cref="IBusinessObject"/> identified by <paramref name="bo"/> /// </summary> /// <param name="committer">The transaction commtter responsible for persisting this dereference.</param> /// <param name="bo">The Business Object being dereferenced.</param> protected void DereferenceChild(TransactionCommitter committer, IBusinessObject bo) { foreach (RelPropDef relPropDef in RelationshipDef.RelKeyDef) { bo.SetPropertyValue(relPropDef.RelatedClassPropName, null); } if (bo.Status.IsNew) { return; } committer.ExecuteTransactionToDataSource(committer.CreateTransactionalBusinessObject(bo)); }
/// <summary> /// Deletes the Child Bo identified by <paramref name="bo"/> /// </summary> /// <param name="committer"></param> /// <param name="bo"></param> protected virtual void DeleteChild(TransactionCommitter committer, IBusinessObject bo) { if (bo == null) { return; } if (!bo.Status.IsDeleted) { bo.MarkForDelete(); } // if (bo.Status.IsNew) return; committer.ExecuteTransactionToDataSource(committer.CreateTransactionalBusinessObject(bo)); }