mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Using Current Culture on WorkContext and remove reliance of HttpContext
This commit is contained in:
@@ -2,8 +2,6 @@
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Orchard.Events;
|
using Orchard.Events;
|
||||||
using Orchard.Localization.Services;
|
|
||||||
using Orchard.Mvc;
|
|
||||||
|
|
||||||
namespace Orchard.Localization.RuleEngine {
|
namespace Orchard.Localization.RuleEngine {
|
||||||
public interface IRuleProvider : IEventHandler {
|
public interface IRuleProvider : IEventHandler {
|
||||||
@@ -11,12 +9,10 @@ namespace Orchard.Localization.RuleEngine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class CultureRuleProvider : IRuleProvider {
|
public class CultureRuleProvider : IRuleProvider {
|
||||||
private readonly ICultureManager _cultureManager;
|
private readonly WorkContext _workContext;
|
||||||
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
||||||
|
|
||||||
public CultureRuleProvider(ICultureManager cultureManager, IHttpContextAccessor httpContextAccessor) {
|
public CultureRuleProvider(WorkContext workContext) {
|
||||||
_cultureManager = cultureManager;
|
_workContext = workContext;
|
||||||
_httpContextAccessor = httpContextAccessor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Process(dynamic ruleContext) {
|
public void Process(dynamic ruleContext) {
|
||||||
@@ -30,8 +26,7 @@ namespace Orchard.Localization.RuleEngine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void ProcessCultureCode(dynamic ruleContext) {
|
private void ProcessCultureCode(dynamic ruleContext) {
|
||||||
var httpContext = _httpContextAccessor.Current();
|
var currentUserCulture = CultureInfo.GetCultureInfo(_workContext.CurrentCulture);
|
||||||
var currentUserCulture = CultureInfo.GetCultureInfo(_cultureManager.GetCurrentCulture(httpContext));
|
|
||||||
|
|
||||||
ruleContext.Result = ((object[])ruleContext.Arguments)
|
ruleContext.Result = ((object[])ruleContext.Arguments)
|
||||||
.Cast<string>()
|
.Cast<string>()
|
||||||
@@ -40,8 +35,7 @@ namespace Orchard.Localization.RuleEngine {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void ProcessCultureId(dynamic ruleContext) {
|
private void ProcessCultureId(dynamic ruleContext) {
|
||||||
var httpContext = _httpContextAccessor.Current();
|
var currentUserCulture = CultureInfo.GetCultureInfo(_workContext.CurrentCulture);
|
||||||
var currentUserCulture = CultureInfo.GetCultureInfo(_cultureManager.GetCurrentCulture(httpContext));
|
|
||||||
|
|
||||||
ruleContext.Result = ((object[])ruleContext.Arguments)
|
ruleContext.Result = ((object[])ruleContext.Arguments)
|
||||||
.Cast<int>()
|
.Cast<int>()
|
||||||
|
|||||||
Reference in New Issue
Block a user