public void Init() { if (File.Exists(configPath)) { var obj = xmlExtensions.ToModel(typeof(OptionsModel)); if (obj != null) { options = obj as OptionsModel; } } else { CreateDefaultConfig(); } //每次启动都把不提醒重置 options.general.noreset = false; }
/// <summary> /// 加载统计数据 /// </summary> public void LoadStatisticData() { if (File.Exists(xmlPath)) { var data = xml.ToModel(typeof(EyesTestListModel)); if (data != null) { statisticList = data as EyesTestListModel; } else { xml.Save(statisticList); } } else { xml.Save(statisticList); } }
//new code #region 迁移数据,从xml到sqlite。下一个版本将弃用 :) /// <summary> /// 迁移数据,从xml到sqlite。下一个版本将弃用 :) /// </summary> private void MigrateXMLDataToDb() { if (File.Exists(xmlPath)) { //需要迁移 xml = new XmlExtensions(xmlPath); var data = xml.ToModel(typeof(StatisticListModel)); if (data != null) { statisticList = data as StatisticListModel; if (statisticList != null && statisticList.Data != null && statisticList.Data.Count > 0) { using (var db = new StatisticContext()) { foreach (var item in statisticList.Data) { db.Statistics.Add(item); } db.SaveChanges(); //备份数据文件 File.Copy(xmlPath, xmlPath + ".migrate.backup"); //删除原数据文件 File.Delete(xmlPath); //迁移标记文件,在用户收到迁移提示后将删除 File.WriteAllText(xmlPath + ".migrate.mark", ""); } } } } //迁移判断 IsMigrated = File.Exists(xmlPath + ".migrate.mark"); }