private async Task CreateAppSettingsDocument() { if (await _connectionManager.IsDocumentEmptyAsync(_options.GetApplicationDocumentPath())) { _logger.LogDebug($"Creating setting from {_options.SettingsFilePath}{_options.SettingsFileName}"); var remoteSettingsDocument = new ApplicationSettingsDocument(); remoteSettingsDocument.SetData(_fileManager.GetFileContent($"{_options.SettingsFilePath}{_options.SettingsFileName}")); await _connectionManager.SaveAsync(_options.GetApplicationDocumentPath(), remoteSettingsDocument.Data.ToDictionary()); } }
public void CreateListeners(Func <ConfigurationLevels, string, Task> loadOnChangeAsyncCallback) { ConfigurationDocuments.Add(ConfigurationLevels.Application, FirestoreClient.Document(_options.GetApplicationDocumentPath())); ConfigurationDocuments.Add(ConfigurationLevels.Stage, FirestoreClient.Document(_options.GetStageDocumentPath())); ConfigurationDocuments.Add(ConfigurationLevels.Machine, FirestoreClient.Document(_options.GetMachineDocumentPath())); ConfigurationDocuments.Add(ConfigurationLevels.Tag, FirestoreClient.Document(_options.GetTagDocumentPath())); ConfigurationDocuments.ToList().ForEach(d => ConfigurationListeners.Add(d.Key, d.Value.Listen(async snapshot => { await loadOnChangeAsyncCallback(d.Key, snapshot.Reference.Path); })) ); }