mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Refactoring to fix a circular dependency that caused container build issues.
--HG-- branch : perf
This commit is contained in:
@@ -12,16 +12,16 @@ namespace Orchard.Localization.Services {
|
|||||||
private readonly IRepository<CultureRecord> _cultureRepository;
|
private readonly IRepository<CultureRecord> _cultureRepository;
|
||||||
private readonly IEnumerable<ICultureSelector> _cultureSelectors;
|
private readonly IEnumerable<ICultureSelector> _cultureSelectors;
|
||||||
private readonly ISignals _signals;
|
private readonly ISignals _signals;
|
||||||
private readonly IOrchardServices _orchardServices;
|
private readonly IWorkContextAccessor _workContextAccessor;
|
||||||
|
|
||||||
public DefaultCultureManager(IRepository<CultureRecord> cultureRepository,
|
public DefaultCultureManager(IRepository<CultureRecord> cultureRepository,
|
||||||
IEnumerable<ICultureSelector> cultureSelectors,
|
IEnumerable<ICultureSelector> cultureSelectors,
|
||||||
ISignals signals,
|
ISignals signals,
|
||||||
IOrchardServices orchardServices) {
|
IWorkContextAccessor workContextAccessor) {
|
||||||
_cultureRepository = cultureRepository;
|
_cultureRepository = cultureRepository;
|
||||||
_cultureSelectors = cultureSelectors;
|
_cultureSelectors = cultureSelectors;
|
||||||
_signals = signals;
|
_signals = signals;
|
||||||
_orchardServices = orchardServices;
|
_workContextAccessor = workContextAccessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<string> ListCultures() {
|
public IEnumerable<string> ListCultures() {
|
||||||
@@ -76,7 +76,7 @@ namespace Orchard.Localization.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public string GetSiteCulture() {
|
public string GetSiteCulture() {
|
||||||
return _orchardServices.WorkContext.CurrentSite == null ? null : _orchardServices.WorkContext.CurrentSite.SiteCulture;
|
return _workContextAccessor.GetContext().CurrentSite == null ? null : _workContextAccessor.GetContext().CurrentSite.SiteCulture;
|
||||||
}
|
}
|
||||||
|
|
||||||
// "<languagecode2>" or
|
// "<languagecode2>" or
|
||||||
|
@@ -3,14 +3,14 @@ using System.Web;
|
|||||||
|
|
||||||
namespace Orchard.Localization.Services {
|
namespace Orchard.Localization.Services {
|
||||||
public class SiteCultureSelector : ICultureSelector {
|
public class SiteCultureSelector : ICultureSelector {
|
||||||
private readonly IOrchardServices _orchardServices;
|
private readonly IWorkContextAccessor _workContextAccessor;
|
||||||
|
|
||||||
public SiteCultureSelector(IOrchardServices orchardServices) {
|
public SiteCultureSelector(IWorkContextAccessor workContextAccessor) {
|
||||||
_orchardServices = orchardServices;
|
_workContextAccessor = workContextAccessor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CultureSelectorResult GetCulture(HttpContextBase context) {
|
public CultureSelectorResult GetCulture(HttpContextBase context) {
|
||||||
string currentCultureName = _orchardServices.WorkContext.CurrentSite.SiteCulture;
|
string currentCultureName = _workContextAccessor.GetContext().CurrentSite.SiteCulture;
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(currentCultureName)) {
|
if (String.IsNullOrEmpty(currentCultureName)) {
|
||||||
return null;
|
return null;
|
||||||
|
Reference in New Issue
Block a user