public void ChangeProjectType(ProjectType newProjectType) { // there could be a rule like if there are already items/sprints/whatevers on the board, the project type cannot be changed anymore if (!ProjectType.Equals(newProjectType)) { Publish(new ProjectTypeChanged(Id, ProjectType, newProjectType)); } }
private void Navigate(EMainPage?navigatePath) { NavigatePath = (EMainPage)navigatePath; IsBtnEnabled = true; switch (NavigatePath) { case EMainPage.IndexPage: ProjectType = ((int)EProjectType.Default).ToString(); Projects = new ObservableCollection <Project>(projectDal.GetListBy(p => !ProjectType.Equals(p.Type))); IsBtnEnabled = false; break; case EMainPage.RealEstatePage: ProjectType = ((int)EProjectType.RealEstate).ToString(); Projects = new ObservableCollection <Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); break; case EMainPage.RegistrationPage: ProjectType = ((int)EProjectType.Registration).ToString(); Projects = new ObservableCollection <Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); break; default: break; } SelectedProject = Projects.FirstOrDefault(); //var view = new ProjectPage(RegionManager); //view.ProjectList.SelectedItem = SelectedProject; //SelectProjectCommand.Execute(view.ProjectList); }
/// <summary> /// 刷新项目列表 /// </summary> private void RefreshProjectList() { Project = null; //switch (NavigatePath) //{ // case "RealEstatePage": // ProjectType = EProjectType.RealEstate.ToString(); // Projects = new ObservableCollection<Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); // break; // case "RegistrationPage": // ProjectType = EProjectType.Registration.ToString(); // Projects = new ObservableCollection<Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); // break; // default: // ProjectType = EProjectType.Default.ToString(); // Projects = new ObservableCollection<Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); // break; //} switch (int.Parse(ProjectType)) { case (int)EProjectType.RealEstate: Projects = new ObservableCollection <Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); break; case (int)EProjectType.Registration: Projects = new ObservableCollection <Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); break; case (int)EProjectType.Default: Projects = new ObservableCollection <Project>(projectDal.GetListBy((p) => ProjectType.Equals(p.Type))); break; default: break; } }
public ProjectPageViewModel(IRegionManager regionManager, IEventAggregator ea) { EA = ea; RegionManager = regionManager; // 初始化 Projects = new ObservableCollection <Project>(projectDal.GetListBy(p => !"-1".Equals(p.Type))); ProjectType = ((int)EProjectType.Default).ToString(); IsBtnEnabled = false; AddOrEditProjectDialog = AddOrEditProjectDialogViewModel.getInstance(); // 页面导航 NavigateCommand = new DelegateCommand <EMainPage?>(Navigate); GlobalCommands.NavigateCommand.RegisterCommand(NavigateCommand); // 选中ListView中的一项 //SelectProjectCommand = new DelegateCommand<object>((obj) => //{ // ListView listView = obj as ListView; // Project = listView.SelectedItem as Project; //}); //GlobalCommands.SelectProjectCommand.RegisterCommand(SelectProjectCommand); // 关闭模态框 CancelAddOrEditProjectDialogCommand = new DelegateCommand(() => { Project = null; }); // 打开模态框 OpenAddOrEditProjectDialogCommand = new DelegateCommand <string>((string dialogTitle) => { DialogTitle = dialogTitle; if ("新增项目".Equals(DialogTitle)) { Project = new Project(); Project.Type = ProjectType; // 设置项目类型 } AddOrEditProjectDialog.DialogTitle = DialogTitle; AddOrEditProjectDialog.Project = Project; DialogHost.Show(new AddOrEditProjectDialog(), "RootDialog", ConfirAddOrEditProjectEventHandler); }); // 删除项目 DelProjectCommand = new DelegateCommand(DelProject); SearchProjectCommand = new DelegateCommand(() => { if (int.Parse(ProjectType) == (int)EProjectType.Default) { Projects = new ObservableCollection <Project>(projectDal.GetListBy(p => p.ProjectName.Contains(SearchProjectName))); } else { Projects = new ObservableCollection <Project>(projectDal.GetListBy(p => ProjectType.Equals(p.Type) && p.ProjectName.Contains(SearchProjectName))); } }); }