public T Retrieve <T>(string key, T defaultValue = default(T), bool shouldDecrpyt = false) { var value = TypeHelperExtended.IsPrimitive(typeof(T), false) ? GetPrimitive(key, defaultValue) : RetrieveObject(key, defaultValue); if (!shouldDecrpyt) { return(value); } var decrypted = SimpleStringCipher.Instance.Decrypt(Convert.ToString(value)); return((T)Convert.ChangeType(decrypted, typeof(T))); }
public async Task StoreAsync <T>(string key, T value, bool shouldEncrypt = false) { if (TypeHelperExtended.IsPrimitive(typeof(T), false)) { if (shouldEncrypt) { StorePrimitive(key, SimpleStringCipher.Instance.Encrypt(Convert.ToString(value))); } else { StorePrimitive(key, value); } } else { StoreObject(key, value); } await Task.CompletedTask; }
/// <summary> /// The StoreAsync /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key">The key<see cref="string" /></param> /// <param name="value">The value<see cref="T" /></param> /// <param name="shouldEncrypt">The shouldEncrypt<see cref="bool" /></param> /// <returns>The <see cref="Task" /></returns> public async Task StoreAsync <T>(string key, T value, bool shouldEncrypt = false) { if (TypeHelperExtended.IsPrimitive(typeof(T), false)) { if (shouldEncrypt) { StorePrimitive(key, SimpleStringCipher.Instance.Encrypt(Convert.ToString(value))); } else { StorePrimitive(key, value); } } else { StoreObject(key, value); } if (Application.Current != null) { await Application.Current.SavePropertiesAsync(); } }