public ResourceUseCase( // Get the ViewToRegionBinder that the baseclass needs IViewToRegionBinder viewtoToRegionBinder , IRegionManager regionManager , IUnityContainer container , IEventAggregator eventAggregator // Get the factories that can create the viewmodels , ObjectFactory<ResourceListViewModel> resourceViewModel , ObjectFactory<ResourceToolbarViewModel> resourceToolbarViewModel , 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._resourceListViewModel = resourceViewModel.CreateInstance() , () => this._resourceToolbarViewModel = resourceToolbarViewModel.CreateInstance()); // Register visualizations for these view models. This means: whenever a viewmodel is displayed, // use this type of view to visualize it. modelVisualizationRegistry.Register<ResourceListViewModel, ResourceListView>(); modelVisualizationRegistry.Register<ResourceToolbarViewModel, ResourceToolbarView>(); modelVisualizationRegistry.Register<ResourceEditViewModel, ResourceEditView>(); container.RegisterType<IResourceAssignService, ResourceAssignmentService>(new ContainerControlledLifetimeManager()); container.RegisterInstance(container.Resolve<IResourceAssignService>()); regionManager.RegisterViewWithRegion("ResourceEditRegion", typeof(ResourceEditViewModel)); // watch for OpenResourceEvents fired by (Link)Button command in ProjectEditViewModel... eventAggregator.GetEvent<OpenResourceByIdEvent>().Subscribe(OpenResourceById); }
public ResourceUseCase( // Get the ViewToRegionBinder that the baseclass needs IViewToRegionBinder viewtoToRegionBinder , IRegionManager regionManager , IUnityContainer container , IEventAggregator eventAggregator // Get the factories that can create the viewmodels , ObjectFactory <ResourceListViewModel> resourceViewModel , ObjectFactory <ResourceToolbarViewModel> resourceToolbarViewModel , 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._resourceListViewModel = resourceViewModel.CreateInstance() , () => this._resourceToolbarViewModel = resourceToolbarViewModel.CreateInstance()); // Register visualizations for these view models. This means: whenever a viewmodel is displayed, // use this type of view to visualize it. modelVisualizationRegistry.Register <ResourceListViewModel, ResourceListView>(); modelVisualizationRegistry.Register <ResourceToolbarViewModel, ResourceToolbarView>(); modelVisualizationRegistry.Register <ResourceEditViewModel, ResourceEditView>(); container.RegisterType <IResourceAssignService, ResourceAssignmentService>(new ContainerControlledLifetimeManager()); container.RegisterInstance(container.Resolve <IResourceAssignService>()); regionManager.RegisterViewWithRegion("ResourceEditRegion", typeof(ResourceEditViewModel)); // watch for OpenResourceEvents fired by (Link)Button command in ProjectEditViewModel... eventAggregator.GetEvent <OpenResourceByIdEvent>().Subscribe(OpenResourceById); }