Example #1
0
        public ConfigBuilderSink AddFile(string configurationFile, bool optional = false, bool reloadOnChange = false, ConfigurationFileTypes fileType = ConfigurationFileTypes.Json)
        {
            if (string.IsNullOrEmpty(configurationFile))
            {
                throw new ArgumentNullException(nameof(configurationFile));
            }

            switch (fileType)
            {
            case ConfigurationFileTypes.Json:
                _configurationBuilder.AddJsonFile(configurationFile, optional, reloadOnChange);
                break;

            case ConfigurationFileTypes.Xml:
                _configurationBuilder.AddXmlFile(configurationFile, optional, reloadOnChange);
                break;
            }

            return(this);
        }
        /// <summary>
        /// Creates the ConfigBuilder Configuiration object and loads the main settings form the config manager.
        /// </summary>
        /// <param name="settingsConfig">The settings configuration.</param>
        /// <param name="configurationFile">Name of the file.</param>
        /// <param name="optional">The json settings.</param>
        /// <param name="fileType">Indicates the file type being used (json or xml)</param>
        /// <param name="reloadOnChange">Indicates if the settings should automatically reload when a file change is detected</param>
        /// <returns>SettingsConfiguration.</returns>
        /// <exception cref="System.ArgumentNullException">settingsConfig</exception>
        public static SettingsConfiguration ConfigBuilder(this SettingsReaderSinkConfiguration settingsConfig, string configurationFile, bool optional = false, bool reloadOnChange = false, ConfigurationFileTypes fileType = ConfigurationFileTypes.Json)
        {
            if (settingsConfig == null)
            {
                throw new ArgumentNullException(nameof(settingsConfig));
            }
            if (string.IsNullOrEmpty(configurationFile))
            {
                throw new ArgumentNullException(nameof(configurationFile));
            }

            return(settingsConfig.Sink(
                       new ConfigBuilderSink(configurationFile, optional, reloadOnChange, fileType)));
        }
Example #3
0
        public ConfigBuilderSink(string configurationFile, bool optional = false, bool reloadOnChange = false, ConfigurationFileTypes fileType = ConfigurationFileTypes.Json)
        {
            if (string.IsNullOrEmpty(configurationFile))
            {
                throw new ArgumentNullException(nameof(configurationFile));
            }

            AddFile(configurationFile, optional, reloadOnChange, fileType);
        }