Beispiel #1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);

            // Setup controllers
            var controllerFactory = new AsyncControllerFactory();

            controllerFactory.Register("Home", () => new HomeController());
            controllerFactory.Register("Phone", () => new PhoneController(new InMemoryContactRepository()));
            controllerFactory.Register("Mail", () => new MailController());
            controllerFactory.Register("Settings", () => new SettingsController());

            // Setup transitions
            NavigationTransitions.Table.Add("Back", "Forward", () => new SlideTransition(SlideDirection.Back));
            NavigationTransitions.Table.Add("Forward", "Back", () => new SlideTransition(SlideDirection.Forward));
            NavigationTransitions.Table.Add("ZoomIn", "ZoomOut", () => new ZoomInTransition());
            NavigationTransitions.Table.Add("ZoomOut", "ZoomIn", () => new ZoomOutTransition());

            // Setup routes
            var routes = new ControllerRouteCatalog(controllerFactory);

            routes.MapRoute("{controller}/{action}");

            // Show the main window
            var main = new MainWindow();

            var navigation = new NavigatorFactory(routes);
            var navigator  = navigation.CreateNavigator(main.Frame);

            main.Navigator = navigator;

            main.Show();

            base.OnStartup(e);
        }
Beispiel #2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            var controllers = new AsyncControllerFactory();

            controllers.Register("Wizard", () => new WizardController());

            var routes = new ControllerRouteCatalog(controllers);

            routes.MapRoute("wizard/{action}", new { controller = "Wizard" });

            var navigation = new NavigatorFactory(routes);

            var main = new MainWindow();

            navigation.ProgressListeners.Add(main);
            main.Show();

            var navigator = navigation.CreateNavigator(main.MainFrame);

            navigator.Navigate <WizardController>(x => x.Welcome());

            DispatcherUnhandledException += OnDispatcherUnhandledException;
            base.OnStartup(e);

            Magellan.Diagnostics.TraceSources.MagellanSource.Switch.Level = SourceLevels.Verbose;
        }
        protected override void AfterSetup()
        {
            Window.Content = Frame = new ContentControl();

            var controllerFactory = new ControllerFactory();
            controllerFactory.Register("Sample", () => new SampleController() { ActionInvoker = new DefaultActionInvoker() });

            var routes = new ControllerRouteCatalog(controllerFactory);
            routes.MapRoute("foobar/{action}", new {controller = "Sample"});

            NavigatorFactory = new NavigatorFactory(routes);
            Navigator = NavigatorFactory.CreateNavigator(Frame);
        }
Beispiel #4
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            // Tax settings
            var taxes = new TaxEstimatorSelector();

            taxes.AddTaxRate(
                TaxPeriod.FY2009,
                new TaxEstimator(
                    new TaxBracketSelector(
                        new TaxBracket(-1, 6000M, 0, 0),
                        new TaxBracket(6000M, 35000M, 0, 0.15M),
                        new TaxBracket(35000M, 80000M, 4350, 0.30M),
                        new TaxBracket(80000M, 180000M, 17850, 0.38M),
                        new TaxBracket(180000M, decimal.MaxValue, 55850, 0.45M)
                        ),
                    new MedicareLevy(70000, 0.015M))
                );
            taxes.AddTaxRate(
                TaxPeriod.FY2010,
                new TaxEstimator(
                    new TaxBracketSelector(
                        new TaxBracket(-1, 6000M, 0, 0),
                        new TaxBracket(6000M, 37000M, 0, 0.15M),
                        new TaxBracket(37000M, 80000M, 4650, 0.30M),
                        new TaxBracket(80000M, 180000M, 17550, 0.37M),
                        new TaxBracket(180000M, decimal.MaxValue, 54550, 0.45M)
                        ),
                    new MedicareLevy(70000, 0.015M))
                );

            // Configure Magellan
            var controllerFactory = new AsyncControllerFactory();

            controllerFactory.Register("Home", () => new HomeController());
            controllerFactory.Register("Tax", () => new TaxController(taxes));

            var routes = new ControllerRouteCatalog(controllerFactory);

            routes.MapRoute("{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" });

            var factory    = new NavigatorFactory("tax", routes);
            var mainWindow = new MainWindow(factory);

            mainWindow.MainNavigator.Navigate <HomeController>(x => x.Index());
            mainWindow.Show();
        }
        public void NonStringableRequestsHaveAdditionalUriData()
        {
            var controller1 = new Mock <IController>();
            var controller2 = new Mock <IController>();
            var controllers = new ControllerFactory();

            controllers.Register("C1", () => controller1.Object);
            controllers.Register("C2", () => controller2.Object);
            var routes = new ControllerRouteCatalog(controllers);

            routes.MapRoute("search/{action}", new { controller = "C2" });

            var navigator = new Navigator(Factory.Object, null, "magellan", new RouteResolver(routes), () => NavigationService.Object);

            navigator.Navigate(new { controller = "C2", action = "foo", abc = "123", def = new DataSet() });
            controller2.Verify(x => x.Execute(It.Is <ControllerContext>(r => r.Request.HasNonUriData && r.Request.Uri.ToString() == "magellan://search/foo?abc=123")));
        }
Beispiel #6
0
        protected override void AfterSetup()
        {
            Window.Content = Frame = new ContentControl();

            var controllerFactory = new ControllerFactory();

            controllerFactory.Register("Sample", () => new SampleController()
            {
                ActionInvoker = new DefaultActionInvoker()
            });

            var routes = new ControllerRouteCatalog(controllerFactory);

            routes.MapRoute("foobar/{action}", new { controller = "Sample" });

            NavigatorFactory = new NavigatorFactory(routes);
            Navigator        = NavigatorFactory.CreateNavigator(Frame);
        }
        public void NavigateToRouteResolvesRightController()
        {
            var controller1 = new Mock<IController>();
            var controller2 = new Mock<IController>();
            var controllers = new ControllerFactory();
            controllers.Register("C1", () => controller1.Object);
            controllers.Register("C2", () => controller2.Object);
            var routes = new ControllerRouteCatalog(controllers);
            routes.MapRoute("search/{action}", new { controller = "C1" });
            routes.MapRoute("patients/{action}", new { controller = "C2" });

			var navigator = new Navigator(Factory.Object, null, "magellan", new RouteResolver(routes), () => NavigationService.Object);

            navigator.Navigate(new { controller = "C2", action = "foo" });
            controller2.Verify(x => x.Execute(It.IsAny<ControllerContext>()));

            navigator.Navigate(new { controller = "C1", action = "foo" });
            controller1.Verify(x => x.Execute(It.IsAny<ControllerContext>()));
        }
        public void NavigateToRouteResolvesRightController()
        {
            var controller1 = new Mock <IController>();
            var controller2 = new Mock <IController>();
            var controllers = new ControllerFactory();

            controllers.Register("C1", () => controller1.Object);
            controllers.Register("C2", () => controller2.Object);
            var routes = new ControllerRouteCatalog(controllers);

            routes.MapRoute("search/{action}", new { controller = "C1" });
            routes.MapRoute("patients/{action}", new { controller = "C2" });

            var navigator = new Navigator(Factory.Object, null, "magellan", new RouteResolver(routes), () => NavigationService.Object);

            navigator.Navigate(new { controller = "C2", action = "foo" });
            controller2.Verify(x => x.Execute(It.IsAny <ControllerContext>()));

            navigator.Navigate(new { controller = "C1", action = "foo" });
            controller1.Verify(x => x.Execute(It.IsAny <ControllerContext>()));
        }
 public void SetUp()
 {
     Catalog = new ControllerRouteCatalog(new Mock<IControllerFactory>().Object);
     Catalog.Validator = new ControllerRouteValidator();
 }
Beispiel #10
0
 public void SetUp()
 {
     Catalog           = new ControllerRouteCatalog(new Mock <IControllerFactory>().Object);
     Catalog.Validator = new ControllerRouteValidator();
 }
        public void StringableRequestsDoNotHaveAdditionalUriData()
        {
            var controller1 = new Mock<IController>();
            var controller2 = new Mock<IController>();
            var controllers = new ControllerFactory();
            controllers.Register("C1", () => controller1.Object);
            controllers.Register("C2", () => controller2.Object);
            var routes = new ControllerRouteCatalog(controllers);
            routes.MapRoute("search/{action}", new { controller = "C2" });

			var navigator = new Navigator(Factory.Object, null, "magellan", new RouteResolver(routes), () => NavigationService.Object);

            navigator.Navigate(new { controller = "C2", action = "foo" });
            controller2.Verify(x => x.Execute(It.Is<ControllerContext>(r => r.Request.HasNonUriData == false && r.Request.Uri.ToString() == "magellan://search/foo")));

            navigator.Navigate(new { controller = "C2", action = "foo", abc = "123" });
            controller2.Verify(x => x.Execute(It.Is<ControllerContext>(r => r.Request.HasNonUriData == false && r.Request.Uri.ToString() == "magellan://search/foo?abc=123")));
        }