AppConfigurationAccessor is now tenant aware

This commit is contained in:
Chris Payne
2015-08-14 11:34:28 +01:00
parent 64585223ee
commit 0213524317

View File

@@ -7,13 +7,20 @@ using System.Threading.Tasks;
namespace Orchard.Environment.Configuration {
public class AppConfigurationAccessor : IAppConfigurationAccessor {
private readonly ShellSettings _shellSettings;
public AppConfigurationAccessor(ShellSettings shellSettings) {
_shellSettings = shellSettings;
}
public string GetConfiguration(string name) {
var appSettingsValue = ConfigurationManager.AppSettings[name];
var tenantName = String.Format("{0}:{1}", _shellSettings.Name, name);
var appSettingsValue = ConfigurationManager.AppSettings[tenantName] ?? ConfigurationManager.AppSettings[name];
if (appSettingsValue != null) {
return appSettingsValue;
}
var connectionStringSettings = ConfigurationManager.ConnectionStrings[name];
var connectionStringSettings = ConfigurationManager.ConnectionStrings[tenantName] ?? ConfigurationManager.ConnectionStrings[name];
if (connectionStringSettings != null) {
return connectionStringSettings.ConnectionString;
}