BuildIt.Config.Impl.Common.FileCacheService.LoadConfigData C# (CSharp) Method

LoadConfigData() public method

public LoadConfigData ( ) : Task
return Task
        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;
        }