/// <summary> /// 保存项目 /// </summary> /// <returns>是否保存成功?</returns> public bool SaveProject() { try { if (ProjectFolderPath == null || ProjectFolderPath == "") { return(false); } //把ProjectData转换为ProjectBaseData ProjectBaseData _projectBaseData = ProjectBaseData.DataToBaseData(ProjectData); //把ProjectBaseData转换为json string _projectJsonText = JsonMapper.ToJson(_projectBaseData); //把json文件保存到[项目名.bugs]文件里 File.WriteAllText(ProjectFilePath, _projectJsonText, Encoding.Default); //保存排序数据 AppManager.Systems.SortSystem.Save(); return(true); } catch (Exception e) { //输出错误 AppManager.Uis.ErrorUi.UiControl.TipContent = e.ToString(); AppManager.Uis.ErrorUi.OpenOrClose(true); return(false); } }
/// <summary> /// 把[Data对象]转换为[BaseData对象] /// </summary> /// <param name="_data">要转换的Data对象</param> /// <returns>转换后的BaseData对象</returns> public static ProjectBaseData DataToBaseData(ProjectData _data) { if (_data != null) { ProjectBaseData _baseData = new ProjectBaseData(); _baseData.Id = _data.Id; _baseData.Name = _data.Name; _baseData.ModeType = (int)_data.ModeType; return(_baseData); } else { return(null); } }
/// <summary> /// 读取项目 /// </summary> /// <param name="_projectFilePath">项目文件夹的路径(就是.bugs文件的路径)(如果为null,就代表使用当前的savePath属性+ProjectName属性)</param> /// <returns>是否读取成功?</returns> public bool LoadProject(string _projectFilePath = null) { try { /* 设置项目路径 */ //如果参数为null if (_projectFilePath == null) { _projectFilePath = ProjectFilePath; } /* 设置文件信息 */ //FileInfo类 用于读取文件信息 FileInfo _fileInfo = new FileInfo(_projectFilePath); /* 判断文件是否存在 */ if (_fileInfo.Exists == false)//如果不存在 { return(false); } //如果文件存在,修改projectFolderPath属性 ProjectFolderPath = _fileInfo.DirectoryName; string _fileName = Path.GetFileNameWithoutExtension(_fileInfo.FullName); /* 读取ProjectData */ //读取[项目名.bugs]的Json文本中的内容 string _projectJsonText = File.ReadAllText(_projectFilePath); //然后把Json文本解析成ProjectBaseData对象 ProjectBaseData _projectBaseData = null; try { _projectBaseData = JsonMapper.ToObject <ProjectBaseData>(_projectJsonText); } catch (Exception e) { } //判断是否是.bug文件(如果没有Bug的名字,就不打开这个项目,并报错) if (_projectBaseData == null || _projectBaseData.Name == null || _projectBaseData.Name == "") { } else { //把ProjectBaseData对象,转化为ProjectData对象 ProjectData _projectData = ProjectBaseData.BaseDataToData(_projectBaseData); //如果取到了数据 if (_projectData != null) { //赋值 _projectData.FileName = _fileName; this.ProjectData = _projectData; //读取排序数据 AppManager.Systems.SortSystem.Load(); //创建文件夹和文件 CreateFolders(); CreateFiles(); /* 打开协同合作功能 */ AppManager.Systems.CollaborationSystem.Handle(true); //返回值 return(true); } } //返回值 return(false); } catch (Exception e) { //输出错误 AppManager.Uis.ErrorUi.UiControl.TipContent = e.ToString(); AppManager.Uis.ErrorUi.OpenOrClose(true); return(false); } }