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());
     }
 }
Пример #2
0
        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);
            }))
                                                    );
        }