public void Committing() { var data = new ReadOnlyCollection <DomainObject> (new DomainObject[0]); var eventRegistrar = MockRepository.GenerateStub <ICommittingEventRegistrar> (); using (_mockRepository.Ordered()) { _extension1.Expect(mock => mock.Committing(TestableClientTransaction, data, eventRegistrar)); _extension2.Expect(mock => mock.Committing(TestableClientTransaction, data, eventRegistrar)); } _mockRepository.ReplayAll(); _collectionWithExtensions.Committing(TestableClientTransaction, data, eventRegistrar); _mockRepository.VerifyAll(); }
public void RaiseTransactionCommittingEvent(ReadOnlyCollection <DomainObject> domainObjects, ICommittingEventRegistrar eventRegistrar) { ArgumentUtility.CheckNotNull("domainObjects", domainObjects); ArgumentUtility.CheckNotNull("eventRegistrar", eventRegistrar); _listenerCollection.TransactionCommitting(_clientTransaction, domainObjects, eventRegistrar); _extensionCollection.Committing(_clientTransaction, domainObjects, eventRegistrar); using (EnterScopeOnDemand()) { _clientTransaction.OnCommitting(new ClientTransactionCommittingEventArgs(domainObjects, eventRegistrar)); // ReSharper disable ForCanBeConvertedToForeach for (int i = 0; i < domainObjects.Count; i++) { var domainObject = domainObjects[i]; if (domainObject.State != StateType.Invalid) { domainObject.OnCommitting(new DomainObjectCommittingEventArgs(eventRegistrar)); } } // ReSharper restore ForCanBeConvertedToForeach } }