/// <summary /> public void ProcessRequest(HttpContext context) { var presenterBinder = new PresenterBinder(this, context); presenterBinder.PerformBinding(); OnLoad(); presenterBinder.Release(); }
public void PresenterBinder_MessageCoordinator_ShouldReturnInstance() { // Arrange var host = new object(); var httpContext = MockRepository.GenerateMock <HttpContextBase>(); var traceContext = MockRepository.GenerateMock <ITraceContext>(); // Act var binder = new PresenterBinder(new[] { host }, httpContext, traceContext); // Assert Assert.IsNotNull(binder.MessageCoordinator); }
/// <summary> /// Initializes a new instance of the <see cref="PageViewHost"/> class. /// </summary> /// <param name="page">The page instance that this view host will be responsible for.</param> /// <param name="control"></param> /// <param name="httpContext">The owning HTTP context.</param> public PageViewHost(Page page, Control control, HttpContext httpContext) { if (page == null) { throw new ArgumentNullException("page"); } if (control == null) { throw new ArgumentNullException("control"); } if (httpContext == null) { throw new ArgumentNullException("httpContext"); } var traceContext = new TraceContextAdapter(httpContext.Trace); traceContext.Write(this, () => "Creating new PageViewHost instance."); var hosts = FindHosts(page, traceContext).ToArray(); presenterBinder = new PresenterBinder(hosts, httpContext); var asyncManager = new PageAsyncTaskManagerWrapper(page); presenterBinder.PresenterCreated += (sender, args) => { var presenter = args.Presenter; traceContext.Write(this, () => string.Format( CultureInfo.InvariantCulture, "Setting AsyncManager on presenter of type {0}.", presenter.GetType().FullName)); presenter.AsyncManager = asyncManager; }; traceContext.Write(this, () => "Subscribing PageViewHost to Control.Init event."); control.Init += Control_Init; traceContext.Write(this, () => "Subscribing PageViewHost to Page.PreRenderComplete event."); page.PreRenderComplete += Page_PreRenderComplete; traceContext.Write(this, () => "Subscribing PageViewHost to Page.Unload event."); page.Unload += Page_Unload; }
public void PresenterBinder_CreateCompositeView_ShouldAddEachViewToComposite() { // Arrange var views = new[] { MockRepository.GenerateMock <IView>(), MockRepository.GenerateMock <IView>() }; var traceContext = MockRepository.GenerateMock <ITraceContext>(); // Act var compositeView = PresenterBinder.CreateCompositeView(typeof(IView), views, traceContext); // Assert CollectionAssert.AreEquivalent(views, ((CompositeView <IView>)compositeView).Views.ToList()); }
public void PresenterBinder_CreateCompositeView_ShouldReturnInstanceOfCorrectType() { // Arrange var views = new[] { MockRepository.GenerateMock <IView <object> >(), MockRepository.GenerateMock <IView <object> >() }; var traceContext = MockRepository.GenerateMock <ITraceContext>(); // Act var compositeView = PresenterBinder.CreateCompositeView(typeof(IView <object>), views, traceContext); // Assert Assert.IsInstanceOf <ICompositeView>(compositeView); Assert.IsInstanceOf <CompositeView <IView <object> > >(compositeView); }
/// <summary /> protected MvpWebService(bool throwExceptionIfNoPresenterBound) { this.throwExceptionIfNoPresenterBound = throwExceptionIfNoPresenterBound; presenterBinder = new PresenterBinder(this, HttpContext.Current); presenterBinder.PerformBinding(); }
protected MvpCommand(bool throwIfNoPresenterBound) { _throwIfNoPresenterBound = throwIfNoPresenterBound; _presenterBinder = PresenterBinderFactory.Create(this); }