예제 #1
0
        /// <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));
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
 /// <summary>
 /// 新建一个UserData,传入数据源
 /// </summary>
 /// <param name="source"></param>
 public UserData(APMCore.Model.UserData source) : base(source)
 {
     _storageFileLocker  = new object();
     _userdataFileLocker = new object();
 }