/// <summary> /// 从文件中读取数据并创建UserData实例 /// </summary> /// <param name="filePath">文件路径</param> /// <returns>根据文件创建的UserData实例</returns> public async static Task <UserData> LoadFromFileAsync(string filePath) { APMCore.Model.UserData source = await Task.Run(() => { return(LoadFromFile(filePath)); }); if (source == null) { throw new NullReferenceException(); } return(new UserData(source)); }
/// <summary> /// 创建默认数据 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static void CreateEmptyUserData(string filePath) { APMCore.Model.UserData source = new APMCore.Model.UserData() { Avatar = UserAvatarFileName, UserName = "******", UserPassword = HashString.SHA("000000"), Description = "CatCatHead", ColumnSize = 3, IsEditMode = false, Storage = UserStorageFileName }; UserData userData = new UserData(source); userData.SaveToFile(filePath); APMCore.ViewModel.StorageBase.CreateEmptyStorage(UserStorageFileName); File.Copy(UserStorageFileName, RuntimeStorageFileName); FileEncrypter encrypter = new FileEncrypter(new AESEncrypter("000000")); encrypter.Encrypt(RuntimeStorageFileName); File.Copy(RuntimeStorageFileName, UserStorageFileName, true); }
/// <summary> /// 新建一个UserData,传入数据源 /// </summary> /// <param name="source"></param> public UserData(APMCore.Model.UserData source) : base(source) { _storageFileLocker = new object(); _userdataFileLocker = new object(); }