/// <summary> /// Create the email service settings from the configuration source provided. /// </summary> /// <param name="config">The Configuration source.</param> /// <param name="emailServiceSectionName">The name of the section in the config source /// containing the email service settings.</param> /// <returns></returns> public static EmailServiceSettings GetSettings(IConfigSource config, string emailServiceSectionName) { var settings = new EmailServiceSettings(); settings.IsAuthenticationRequired = config.GetDefault <bool>(emailServiceSectionName, "useAuthentication", false); settings.AuthenticationUserName = config.GetDefault <string>(emailServiceSectionName, "emailAuthenticationUser", ""); settings.AuthenticationPassword = config.GetDefault <string>(emailServiceSectionName, "emailAuthenticationPassword", ""); settings.SmptServer = config.GetDefault <string>(emailServiceSectionName, "smtpServer", ""); settings.UsePort = config.GetDefault <bool>(emailServiceSectionName, "usePort", false); settings.Port = settings.UsePort ? config.GetDefault <int>(emailServiceSectionName, "port", 25) : 25; settings.From = config.GetDefault <string>(emailServiceSectionName, "from", ""); return(settings); }
/// <summary> /// Convenience method for getting section/key value from current config. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="section"></param> /// <param name="key"></param> /// <param name="defaultValue">The default value to use if key is not available.</param> /// <returns></returns> public static T GetDefault <T>(string section, string key, T defaultValue) { return(_current.GetDefault <T>(section, key, defaultValue)); }
/// <summary> /// Get value or default value. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key"></param> /// <param name="defaultValue"></param> /// <returns></returns> public T GetDefault <T>(string key, T defaultValue) { return(_provider.GetDefault <T>(key, defaultValue)); }