public virtual void BindFirstRunView(IFirstRunView view) { _firstRunView = view; _firstRunView.OnViewDestroy = (view2) => { _firstRunPresenter.ViewDestroyed(); _firstRunPresenter = null; _firstRunView = null; }; _firstRunPresenter = Bootstrapper.GetContainer().Resolve<IFirstRunPresenter>(); _firstRunPresenter.BindView(view); }
public virtual IFirstRunView CreateFirstRunView() { if (_firstRunView != null) { _firstRunView.ShowView(true); return _firstRunView; } Action<IBaseView> onViewReady = (view) => { _firstRunPresenter = Bootstrapper.GetContainer().Resolve<IFirstRunPresenter>(); _firstRunPresenter.BindView((IFirstRunView)view); }; _firstRunView = Bootstrapper.GetContainer().Resolve<IFirstRunView>(new NamedParameterOverloads() { { "onViewReady", onViewReady } }); _firstRunView.OnViewDestroy = (view) => { _firstRunPresenter.ViewDestroyed(); _firstRunPresenter = null; _firstRunView = null; }; return _firstRunView; }