Пример #1
0
        public RootContext(ITheaterApplicationHost appHost, INavigator navigator, ISessionManager sessionManager, ILogManager logManager) : base(appHost)
        {
            _appHost = appHost;
            _navigator = navigator;
            _sessionManager = sessionManager;
            _logger = logManager.GetLogger("RootContext");

            // create root navigation bindings
            Binder.Bind<LoginPath, LoginContext>();
            Binder.Bind<HomePath, HomeContext>();
            Binder.Bind<SideMenuPath, SideMenuContext>();
            Binder.Bind<FullScreenPlaybackPath, FullScreenPlaybackContext>();

            Binder.Bind<ItemListPath>(async path => {
                var context = appHost.CreateInstance(typeof (ItemListContext)) as ItemListContext;
                context.Parameters = path.Parameter;

                return context;
            });

            Binder.Bind<ItemPath>(async path => {
                var context = appHost.CreateInstance(typeof (ItemDetailsContext)) as ItemDetailsContext;
                context.Item = path.Parameter;

                return context;
            });
        }