internal override void AddDirtyChildrenToTransactionCommitter(TransactionCommitter transactionCommitter) { foreach (var businessObject in GetDirtyChildren()) { if (this.OwningBOHasForeignKey) { transactionCommitter.InsertBusinessObject(businessObject); } else { transactionCommitter.AddBusinessObject(businessObject); } } if (this.RelationshipDef.RelationshipType == RelationshipType.Association) { if (IsRelatedBOPropsDirty() && _relatedBo != null && !_relatedBo.Status.IsNew) { transactionCommitter.AddAddedChildBusinessObject(this, _relatedBo); } else if (IsRemoved) { transactionCommitter.AddRemovedChildBusinessObject(this, RemovedBO); } } }
internal override void AddDirtyChildrenToTransactionCommitter(TransactionCommitter transactionCommitter) { if (!_boCol.IsValueCreated) { return; } var currentCol = _boCol.Value; foreach (TBusinessObject businessObject in GetDirtyChildren()) { transactionCommitter.AddBusinessObject(businessObject); } if (!this.OwningBO.Status.IsDeleted) { foreach (TBusinessObject businessObject in currentCol.AddedBusinessObjects) { transactionCommitter.AddAddedChildBusinessObject(this, businessObject); } } foreach (TBusinessObject businessObject in currentCol.RemovedBusinessObjects) { transactionCommitter.AddRemovedChildBusinessObject(this, businessObject); } }