public override void Execute(object parameter)
 {
     using (ProjectRepository repository = new ProjectRepository())
     {
         repository.DeleteProject(_mainWindow.SelectedProject);
     }
     _mainWindow.Mediator.NotifyColleagues(ViewModelMessages.ProjectDeleted, _mainWindow.SelectedProject);
 }
        public TaskDetailsViewModel(Task task, MainWindowViewModel mainWindow)
        {
            using (ProjectRepository projectRepository = new ProjectRepository())
            {
                _projects = new CollectionView(projectRepository.GetAllProjects());
            }

            using (PriorityRepository priorityRepository = new PriorityRepository())
            {
                _priorities = new CollectionView(priorityRepository.GetAllPriorities());
            }

            _task = task;
            _mainWindow = mainWindow;

            SetTabTitle();
        }
        public override void Execute(object parameter)
        {
            bool? newProject = null;
            using (ProjectRepository projectRepository = new ProjectRepository())
            {
                newProject = projectRepository.Save(_project);
            }

            if (newProject.Value)
            {
                _mainWindow.Mediator.NotifyColleagues(ViewModelMessages.ProjectAdded, _project);
            }
            else
            {
                _mainWindow.Mediator.NotifyColleagues(ViewModelMessages.ProjectAmended, _project);
            }

            //now remove the project details tab and take us to the task list for the project.
            _mainWindow.Tabs.Remove(_projectDetails);
            TaskListViewModel taskList = _mainWindow.GetTaskListTabForProject(_project, true);
            _mainWindow.SetActiveTab(taskList);
        }