Search Results for

    Show / Hide Table of Contents

    Class SettingsHelper

    A settings helper class that allows access to common settings along with methods for other libraries to load their settings from

    Inheritance
    System.Object
    SettingsHelper
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: LemonEdge.Utils
    Assembly: Utils.dll
    Syntax
    public static class SettingsHelper
    Remarks

    By default the settings helper looks to load an associated settings.config xml files. SetCustomSettingRetriever(ICustomSettingRetriever) can be used to override this functionality

    Fields

    ConnectionDBStringSetting

    The setting key name for the connection string to the database

    Declaration
    public const string ConnectionDBStringSetting = "ConString"
    Field Value
    Type Description
    System.String

    ConnectionDBValidDatabasesSetting

    The setting key name for the list of valid databases

    Declaration
    public const string ConnectionDBValidDatabasesSetting = "ValidDatabases"
    Field Value
    Type Description
    System.String

    ConnectionDBVisibleDatabasesSetting

    The setting key name for the list of visible databases

    Declaration
    public const string ConnectionDBVisibleDatabasesSetting = "VisibleDatabases"
    Field Value
    Type Description
    System.String

    ConnectionServiceURISetting

    The setting key name for the uri for connecting to the web service

    Declaration
    public const string ConnectionServiceURISetting = "ServiceURI"
    Field Value
    Type Description
    System.String

    LogDatabaseSQLSetting

    The setting key name for inidicating database sql commands should be logged

    Declaration
    public const string LogDatabaseSQLSetting = "LogDatabaseSQL"
    Field Value
    Type Description
    System.String

    LogToConsoleSetting

    The setting key name for inidicating logs should be sent to the console

    Declaration
    public const string LogToConsoleSetting = "LogToConsole"
    Field Value
    Type Description
    System.String

    LogToFileSetting

    The setting key name for inidicating to log to a file

    Declaration
    public const string LogToFileSetting = "LogToFile"
    Field Value
    Type Description
    System.String

    MinLogLevelSetting

    The setting key name for log level

    Declaration
    public const string MinLogLevelSetting = "MinLogLevel"
    Field Value
    Type Description
    System.String

    Properties

    HasSettingsFile

    Indicates if the system found an associated settings.config file alongside this running process

    Not necessary if running inside a cloud enviroment as settings can be pulled from config settings in cloud, not a file

    Declaration
    public static bool HasSettingsFile { get; }
    Property Value
    Type Description
    System.Boolean

    IsManualDBConnection

    Indicates the client is directly connected to the database rather than working through a web service

    Declaration
    public static bool IsManualDBConnection { get; set; }
    Property Value
    Type Description
    System.Boolean

    LogDatabaseSQL

    Indicates if sql commands against the database should also be logged

    Declaration
    public static bool LogDatabaseSQL { get; }
    Property Value
    Type Description
    System.Boolean

    LogToConsole

    Indicates if the logs should be sent to the console

    Declaration
    public static bool LogToConsole { get; }
    Property Value
    Type Description
    System.Boolean

    LogToFile

    Indicates if the system should log to a file

    Declaration
    public static string LogToFile { get; }
    Property Value
    Type Description
    System.String

    MinLogLevel

    Holds the level below which log entries will be supressed

    Declaration
    public static Extensions.Logging.LogLevel MinLogLevel { get; }
    Property Value
    Type Description
    Microsoft.Extensions.Logging.LogLevel

    Methods

    GetAppSetting<T>(String)

    Retrieves an associated setting for the given key and converts it to the specified T type

    Declaration
    public static T GetAppSetting<T>(string key)
    Parameters
    Type Name Description
    System.String key

    The key that holds the associated setting value

    Returns
    Type Description
    T

    The setting associated with the key and converts it to type T

    Type Parameters
    Name Description
    T

    The type to convert the specified setting result into

    GetAppSetting<T>(String, T)

    Retrieves an associated setting (converted to type T) for the given key and returns the specified missingOrEmptyValue if no associated setting key exists

    Declaration
    public static T GetAppSetting<T>(string key, T missingOrEmptyValue)
    Parameters
    Type Name Description
    System.String key

    The key that holds the associated setting value

    T missingOrEmptyValue

    If the setting isn't specified this value is returned instead

    Returns
    Type Description
    T

    The setting associated with the key and converts it to type T. If no associated setting exists then it returns the missingOrEmptyValue

    Type Parameters
    Name Description
    T

    The type to convert the specified setting result into

    ReloadSettings()

    Forces all settings to be reloaded from the settings source, and all dependant settings for other libraries

    Declaration
    public static void ReloadSettings()

    SetAppSetting<T>(String, T)

    Sets the specified setting key to the specified value. This does not write to any setting file, but is just retained in memory for the life of the application.

    Declaration
    public static void SetAppSetting<T>(string key, T value)
    Parameters
    Type Name Description
    System.String key

    The key for the setting to change

    T value

    The value to be associated with the specified setting key

    Type Parameters
    Name Description
    T

    The type of the setting value

    Remarks

    This is typically used for settings the user can change - such as database connections

    SetCustomSettingRetriever(ICustomSettingRetriever)

    Provides a custom settings retriever so libraries can load the settings from a different propeitary source rather than the settings.config file or enviroment

    Declaration
    public static void SetCustomSettingRetriever(ICustomSettingRetriever retriever)
    Parameters
    Type Name Description
    ICustomSettingRetriever retriever

    An implementation of ICustomSettingRetriever to provide setting values for given keys from a custom source

    Events

    ReloadedSettings

    Indicates settings have changed and all associated setting handlers should reload their settings

    Declaration
    public static event EventHandler ReloadedSettings
    Event Type
    Type Description
    System.EventHandler
    In This Article
    Back to top © LemonEdge Technology. All rights reserved.