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