public async Task<bool> Save(AppConfiguration appConfiguration, TimeSpan expirationTime = default(TimeSpan))
{
var res = false;
if (appConfiguration == null) return res;
try
{
var folder = await CreateFolderToSaveAsync();
if (folder == null) return res;
var file = await folder.CreateFileAsync(FileName, CreationCollisionOption.ReplaceExisting);
if (file == null) return res;
var valuesDict = new Dictionary<string,AppConfigurationValue>();
var keys = appConfiguration.Keys;
foreach (var key in keys)
{
if (!valuesDict.ContainsKey(key) && appConfiguration[key] != null)
{
valuesDict.Add(key, appConfiguration[key]);
}
}
var appConfigJson = JsonConvert.SerializeObject(valuesDict, Formatting.Indented);
await file.WriteAllTextAsync(appConfigJson);
SetCacheExpirationTime(expirationTime);
res = true;
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
return res;
}