37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using System;
|
|
|
|
namespace app.Configuration {
|
|
public static class ConfigurationExtensions {
|
|
public static TSetting GetSetting<TSetting>(this IConfiguration config, string sectionName)
|
|
where TSetting : new() {
|
|
var settings = new TSetting();
|
|
config.GetSection(sectionName).Bind(settings);
|
|
return settings;
|
|
}
|
|
|
|
public static string GetDbConnectionString(this IConfiguration config, string sectionName) {
|
|
var connectionString = config[$"{sectionName}:ConnectionString"];
|
|
|
|
if (string.IsNullOrEmpty(connectionString))
|
|
throw new Exception($"ConnectionString is not set! SectionName:{sectionName}");
|
|
|
|
var dbCredentials = config[$"{sectionName}:Credentials"];
|
|
|
|
if (!string.IsNullOrEmpty(dbCredentials))
|
|
connectionString += dbCredentials;
|
|
|
|
return connectionString;
|
|
}
|
|
|
|
public static string GetCustomer(this IConfiguration config) {
|
|
return config["CUSTOMER"];
|
|
}
|
|
|
|
public static string GetComputerName(this IConfiguration config) {
|
|
return config["COMPUTERNAME"];
|
|
}
|
|
|
|
}
|
|
}
|