Exemplo n.º 1
0
 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)));
                }
            });
        }