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

Save() public method

public Save ( AppConfiguration appConfiguration, System.TimeSpan expirationTime = default(TimeSpan) ) : Task
appConfiguration BuildIt.Config.Core.Models.AppConfiguration
expirationTime System.TimeSpan
return Task
        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;
        }