public BlogConfig( ILogger <BlogConfig> logger, IConfiguration configuration) { _configuration = configuration; _logger = logger; ContentSettings = new ContentSettings(); GeneralSettings = new GeneralSettings(); NotificationSettings = new NotificationSettings(); FeedSettings = new FeedSettings(); WatermarkSettings = new WatermarkSettings(); FriendLinksSettings = new FriendLinksSettings(); AdvancedSettings = new AdvancedSettings(); Initialize(); }
private void Initialize() { if (!_hasInitialized) { var cfgDic = GetAllConfigurations(); var jsonOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; BlogOwnerSettings = JsonSerializer.Deserialize <BlogOwnerSettings>(cfgDic[nameof(BlogOwnerSettings)], jsonOptions); GeneralSettings = JsonSerializer.Deserialize <GeneralSettings>(cfgDic[nameof(GeneralSettings)], jsonOptions); ContentSettings = JsonSerializer.Deserialize <ContentSettings>(cfgDic[nameof(ContentSettings)], jsonOptions); EmailSettings = JsonSerializer.Deserialize <EmailSettings>(cfgDic[nameof(EmailSettings)], jsonOptions); FeedSettings = JsonSerializer.Deserialize <FeedSettings>(cfgDic[nameof(FeedSettings)], jsonOptions); WatermarkSettings = JsonSerializer.Deserialize <WatermarkSettings>(cfgDic[nameof(WatermarkSettings)], jsonOptions); FriendLinksSettings = JsonSerializer.Deserialize <FriendLinksSettings>(cfgDic[nameof(FriendLinksSettings)], jsonOptions); AdvancedSettings = JsonSerializer.Deserialize <AdvancedSettings>(cfgDic[nameof(AdvancedSettings)], jsonOptions); _hasInitialized = true; } }