/// <summary> /// 读取[最近的项目] /// </summary> public void Load() { try { //文件的路径(文件夹+文件名+后缀) string _filePath = LatelyFolderPath + "/Lately" + AppManager.Systems.ProjectSystem.OtherFileSuffix; //FileInfo类 用于读取文件信息 FileInfo _fileInfo = new FileInfo(_filePath); /* 判断文件是否存在 */ if (_fileInfo.Exists == true) //如果存在 { //读取[最近的项目]的Json文本中的内容 string _jsonText = File.ReadAllText(_filePath); //然后把Json文本解析成BaseData对象 List <LatelyProjectBaseData> _latelyProjectBaseDatas = null; try { _latelyProjectBaseDatas = JsonMapper.ToObject <List <LatelyProjectBaseData> >(_jsonText); } catch (Exception e) { } //把BaseData对象,转化为Data对象 ObservableCollection <LatelyProjectData> _latelyProjectDatas = new ObservableCollection <LatelyProjectData>(); if (_latelyProjectBaseDatas != null) { for (int i = 0; i < _latelyProjectBaseDatas.Count; i++) { if (_latelyProjectBaseDatas[i] != null) { _latelyProjectDatas.Add(LatelyProjectBaseData.BaseDataToData(_latelyProjectBaseDatas[i])); } } } //进行排序 _latelyProjectDatas = Sort(_latelyProjectDatas); //然后,赋值 LatelyProjectDatas = _latelyProjectDatas; //更新Ui OnLanguageChange(AppManager.Systems.LanguageSystem.LanguageType); } } catch (Exception e) { } }
/// <summary> /// 把[BaseData对象]转换为[Data对象] /// </summary> /// <param name="_baseData">要转换的BaseData对象</param> /// <returns>转换后的Data对象</returns> public static LatelyProjectData BaseDataToData(LatelyProjectBaseData _baseData) { if (_baseData != null) { LatelyProjectData _data = new LatelyProjectData(); _data.Id = _baseData.Id; _data.Name = _baseData.Name; _data.Path = _baseData.Path; _data.Mode = (ModeType)_baseData.Mode; _data.OpenTime = new DateTime(_baseData.OpenTime[0], _baseData.OpenTime[1], _baseData.OpenTime[2], _baseData.OpenTime[3], _baseData.OpenTime[4], _baseData.OpenTime[5]); return(_data); } else { return(null); } }
/// <summary> /// 保存[最近的项目] /// </summary> public void Save() { try { if (LatelyProjectDatas == null) { LatelyProjectDatas = new ObservableCollection <LatelyProjectData>(); } /* 如果文件夹不存在,就创建文件夹 */ CreateFolder(); /* 然后保存当前的排序方式 */ //把Data转换为BaseData List <LatelyProjectBaseData> _latelyProjectBaseDatas = new List <LatelyProjectBaseData>(); for (int i = 0; i < LatelyProjectDatas.Count; i++) { if (LatelyProjectDatas[i] != null) { _latelyProjectBaseDatas.Add(LatelyProjectBaseData.DataToBaseData(LatelyProjectDatas[i])); } } //把BaseData转换为json string _jsonText = JsonMapper.ToJson(_latelyProjectBaseDatas); //文件的路径(文件夹+文件名+后缀) string _filePath = LatelyFolderPath + "/Lately" + AppManager.Systems.ProjectSystem.OtherFileSuffix; //把json文件保存到[Lately.json]文件里 File.WriteAllText(_filePath, _jsonText, Encoding.Default); } catch (Exception e) { } }
/// <summary> /// 把[Data对象]转换为[BaseData对象] /// </summary> /// <param name="_data">要转换的Data对象</param> /// <returns>转换后的BaseData对象</returns> public static LatelyProjectBaseData DataToBaseData(LatelyProjectData _data) { if (_data != null) { LatelyProjectBaseData _baseData = new LatelyProjectBaseData(); _baseData.Id = _data.Id; _baseData.Name = _data.Name; _baseData.Path = _data.Path; _baseData.Mode = (int)_data.Mode; _baseData.OpenTime = new List <int>() { _data.OpenTime.Year, _data.OpenTime.Month, _data.OpenTime.Day, _data.OpenTime.Hour, _data.OpenTime.Minute, _data.OpenTime.Second }; return(_baseData); } else { return(null); } }