public async Task<AppConfiguration> LoadConfigData()
{
try
{
var folder = await CreateFolderToSaveAsync();
if (folder == null) return null;
var fileExists = await folder.CheckExistsAsync(FileName);
if (fileExists == ExistenceCheckResult.FileExists)
{
var file = await folder.GetFileAsync(FileName);
if (file == null) return null;
var jsonData = await file.ReadAllTextAsync();
if (string.IsNullOrEmpty(jsonData)) return null;
var dic = JsonConvert.DeserializeObject<Dictionary<string, AppConfigurationValue>>(jsonData);
var appConfig = new AppConfiguration();
foreach (var value in dic.Values)
{
if (string.IsNullOrEmpty(value?.Attributes?.Name)) continue;
appConfig[value.Attributes.Name] = value;
}
return appConfig;
}
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
return null;
}