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();
        }
Пример #2
0
        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
            }
        }