Merge pull request #5642 from paynecrl97/5520/tenantAwareConfig

#5520 AppConfigurationAccessor is now tenant aware.

Fixes #5520.
This commit is contained in:
Daniel Stolt 2015-08-14 11:43:09 +01:00
commit f2bf75328e

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;
}