public ProjectUseCase( // Get the ViewToRegionBinder that the baseclass needs IViewToRegionBinder viewtoToRegionBinder , IRegionManager regionManager , IUnityContainer container , IEventAggregator eventAggregator // Get the factories that can create the viewmodels , ObjectFactory <ProjectListViewModel> ProjectViewModel , ObjectFactory <ProjectToolbarViewModel> ProjectToolbarViewModel , IApplicationModel applicationModel , IModelVisualizationRegistry modelVisualizationRegistry) : base(viewtoToRegionBinder) { this.ApplicationModel = applicationModel; this.Container = container; // Just before the view is initialized for the first time this.AddInitializationMethods( // Create the emailViewModel and assign it to this variable () => this._projectListViewModel = ProjectViewModel.CreateInstance() , () => this._projectToolbarViewModel = ProjectToolbarViewModel.CreateInstance()); // Register visualizations for these view models. This means: whenever a viewmodel is displayed, // use this type of view to visualize it. modelVisualizationRegistry.Register <ProjectListViewModel, ProjectListView>(); modelVisualizationRegistry.Register <ProjectToolbarViewModel, ProjectToolbarView>(); modelVisualizationRegistry.Register <ProjectEditViewModel, ProjectEditView>(); // Register Dialog Popup service... container.RegisterType <IProjectAssignService, ProjectAssignmentService>(new ContainerControlledLifetimeManager()); container.RegisterInstance(container.Resolve <IProjectAssignService>()); regionManager.RegisterViewWithRegion("ProjectEditRegion", typeof(ProjectEditViewModel)); // watch for OpenProjectEvents fired by (Link)Button command in ResourceEditViewModel... eventAggregator.GetEvent <OpenProjectByIdEvent>().Subscribe(OpenProjectById); }
public ProjectUseCase( // Get the ViewToRegionBinder that the baseclass needs IViewToRegionBinder viewtoToRegionBinder , IRegionManager regionManager , IUnityContainer container , IEventAggregator eventAggregator // Get the factories that can create the viewmodels , ObjectFactory<ProjectListViewModel> ProjectViewModel , ObjectFactory<ProjectToolbarViewModel> ProjectToolbarViewModel , IApplicationModel applicationModel , IModelVisualizationRegistry modelVisualizationRegistry) : base(viewtoToRegionBinder) { this.ApplicationModel = applicationModel; this.Container = container; // Just before the view is initialized for the first time this.AddInitializationMethods( // Create the emailViewModel and assign it to this variable () => this._projectListViewModel = ProjectViewModel.CreateInstance() , () => this._projectToolbarViewModel = ProjectToolbarViewModel.CreateInstance()); // Register visualizations for these view models. This means: whenever a viewmodel is displayed, // use this type of view to visualize it. modelVisualizationRegistry.Register<ProjectListViewModel, ProjectListView>(); modelVisualizationRegistry.Register<ProjectToolbarViewModel, ProjectToolbarView>(); modelVisualizationRegistry.Register<ProjectEditViewModel, ProjectEditView>(); // Register Dialog Popup service... container.RegisterType<IProjectAssignService, ProjectAssignmentService>(new ContainerControlledLifetimeManager()); container.RegisterInstance(container.Resolve<IProjectAssignService>()); regionManager.RegisterViewWithRegion("ProjectEditRegion", typeof(ProjectEditViewModel)); // watch for OpenProjectEvents fired by (Link)Button command in ResourceEditViewModel... eventAggregator.GetEvent<OpenProjectByIdEvent>().Subscribe(OpenProjectById); }