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); }
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); }
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"))); }
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(); }
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"))); }