Ejemplo n.º 1
0
        public ProjectDetailViewModel(
            IProjectRepository projectRepository,
            IEventAggregator eventAggregator,
            ISystemItemLookupDataService systemItemLookupDataService,
            IMessageDialogService messageDialogService)
        {
            _eventAggregator             = eventAggregator;
            _messageDialogService        = messageDialogService;
            _projectRepository           = projectRepository;
            _systemItemLookupDataService = systemItemLookupDataService;

            CancelCommand        = new DelegateCommand(OnCancelExecute);
            SaveDetailCommand    = new DelegateCommand(OnSaveDetailExecute, SaveDetailCanExecute);
            AddSubtaskCommand    = new DelegateCommand(OnAddSubtaskExecute);
            RemoveSubtaskCommand = new DelegateCommand(OnRemoveSubtaskExecute, OnRemoveSubtaskCanExecute);

            _eventAggregator.GetEvent <OpenDetailViewEvent>().Subscribe(OnOpenDetailView);

            SystemItems = new ObservableCollection <LookupItem>();
            Subtasks    = new ObservableCollection <SubTaskWrapper>();
        }
Ejemplo n.º 2
0
        public ProjectManagerViewModel(INavigationViewModel navigationViewModel,
                                       Func <IProjectDetailViewModel> projectDetailViewModelCreator, IProjectRepository projectRepository,
                                       IEventAggregator eventAggregator, IMessageDialogService messageDialogService,
                                       ISystemItemLookupDataService systemItemLookupDataService)
        {
            //if (projectRepository == null) throw new ArgumentNullException("dataService");
            if (eventAggregator == null)
            {
                throw new ArgumentNullException("eventAggregator");
            }

            _messageDialogService          = messageDialogService;
            _eventAggregator               = eventAggregator;
            _projectDetailViewModelCreator = projectDetailViewModelCreator;
            _projectRepository             = projectRepository;
            _systemItemLookupDataService   = systemItemLookupDataService;
            NavigationViewModel            = navigationViewModel;

            //Check if user is in design mode.
            if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
            {
                return;
            }

            ShowAddProjectCommand   = new DelegateCommand(OnShowAddProject);
            CreateProjectCommand    = new DelegateCommand(OnCreateProject);
            SaveProjectCommand      = new DelegateCommand(OnSaveProject, OnSaveCanExecute);
            EditProjectCommand      = new DelegateCommand <ProjectWrapper>(OnEditProject);
            CancelAddProjectCommand = new DelegateCommand(OnCancelAddProject);

            SystemItems = new ObservableCollection <LookupItem>();

            // this.Projects = new ListCollectionView(dataService.GetProjects());

            _eventAggregator.GetEvent <OpenProjectDetailsViewEvent>().Subscribe(OnOpenProjectView);
            _eventAggregator.GetEvent <AfterProjectDeletedEvent>().Subscribe(OnAfterProjectDeleted);
        }