protected override IRelationEndPointManager CreateRelationEndPointManager( ClientTransaction constructedTransaction, IRelationEndPointProvider endPointProvider, ILazyLoader lazyLoader, IClientTransactionEventSink eventSink) { ArgumentUtility.CheckNotNull("constructedTransaction", constructedTransaction); ArgumentUtility.CheckNotNull("endPointProvider", endPointProvider); ArgumentUtility.CheckNotNull("lazyLoader", lazyLoader); ArgumentUtility.CheckNotNull("eventSink", eventSink); var endPointChangeDetectionStrategy = new RootCollectionEndPointChangeDetectionStrategy(); var collectionEndPointDataManagerFactory = new CollectionEndPointDataManagerFactory(endPointChangeDetectionStrategy); var virtualObjectEndPointDataManagerFactory = new VirtualObjectEndPointDataManagerFactory(); var relationEndPointFactory = CreateRelationEndPointFactory( constructedTransaction, endPointProvider, lazyLoader, eventSink, virtualObjectEndPointDataManagerFactory, collectionEndPointDataManagerFactory); var virtualEndPointStateUpdateListener = new VirtualEndPointStateUpdateListener(eventSink); var stateUpdateRaisingRelationEndPointFactory = new StateUpdateRaisingRelationEndPointFactoryDecorator( relationEndPointFactory, virtualEndPointStateUpdateListener); var relationEndPointRegistrationAgent = new RootRelationEndPointRegistrationAgent(endPointProvider); return(new RelationEndPointManager( constructedTransaction, lazyLoader, eventSink, stateUpdateRaisingRelationEndPointFactory, relationEndPointRegistrationAgent)); }
public static VirtualObjectEndPoint CreateVirtualObjectEndPoint(RelationEndPointID endPointID, ClientTransaction clientTransaction) { var lazyLoader = ClientTransactionTestHelper.GetDataManager(clientTransaction); var endPointProvider = ClientTransactionTestHelper.GetDataManager(clientTransaction); var transactionEventSink = ClientTransactionTestHelper.GetEventBroker(clientTransaction); var dataManagerFactory = new VirtualObjectEndPointDataManagerFactory(); return(new VirtualObjectEndPoint( clientTransaction, endPointID, lazyLoader, endPointProvider, transactionEventSink, dataManagerFactory)); }
public override void SetUp() { _factory = new VirtualObjectEndPointDataManagerFactory(); _endPointID = RelationEndPointObjectMother.CreateRelationEndPointID(DomainObjectIDs.Order1, "OrderTicket"); }