public ApplicationViewModelBuilder(Window wpfWindow)
        {
            var window                = new WindowViewModel(wpfWindow);
            var routeSolver           = RoutingConfiguration.Register();
            var serviceLocatorBuilder = new DependencyInjectionConfiguration();
            var serviceLocatorLazy    = serviceLocatorBuilder.GetServiceLocator();

            serviceLocatorBuilder.Register <IWindowViewModel>(window);

            var navigation = NavigationViewModel.Create(serviceLocatorLazy, routeSolver);

            serviceLocatorBuilder.Register <INavigator>(navigation);
            serviceLocatorBuilder.Register(navigation);

            ApplicationViewModel = new ApplicationViewModel(window, navigation);
            serviceLocatorBuilder.Register <IMessageBox>(ApplicationViewModel);
            serviceLocatorBuilder.Register <INotificationSender>(ApplicationViewModel);

            var serviceLocator = serviceLocatorLazy.Value;

            _LifeCycleEventsRegistror = RegisterLifeCycleEvents(serviceLocator);

            var reactiveTraderApi = serviceLocator.GetInstance <IReactiveTrader>();
            var username          = serviceLocator.GetInstance <IUserProvider>().Username;

            reactiveTraderApi.Initialize(username, serviceLocator.GetInstance <IConfigurationProvider>().Servers, serviceLocator.GetInstance <ILoggerFactory>());
        }
Exemplo n.º 2
0
        private ApplicationViewModel BuildApplicationViewModel()
        {
            var window                = new WindowViewModel(this);
            var routeSolver           = RoutingConfiguration.Register();
            var serviceLocatorBuilder = new DependencyInjectionConfiguration();
            var serviceLocator        = serviceLocatorBuilder.GetServiceLocator();

            var navigation = NavigationViewModel.Create(serviceLocator, routeSolver);

            serviceLocatorBuilder.Register <IWindowViewModel>(window);
            serviceLocatorBuilder.Register <INavigator>(navigation);
            serviceLocatorBuilder.Register(navigation);

            var application = serviceLocator.GetInstance <ApplicationViewModel>();

            serviceLocatorBuilder.Register <IMessageBox>(application);

            _LifeCycleEventsRegistror = RegisterLifeCycleEvents(serviceLocator);

            return(application.StartRoute <MainViewModel>());
        }