Removing unnecessary calls ro Resolve<>()

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2011-10-05 14:48:31 -07:00
parent de4de3bad8
commit fef8634902
11 changed files with 49 additions and 69 deletions

View File

@@ -3,7 +3,6 @@ using System.Xml;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers;
using Orchard.Core.Common.Services;
using Orchard.Mvc;
using Orchard.PublishLater.Models;
using Orchard.PublishLater.Services;
@@ -14,14 +13,16 @@ using System.Globalization;
namespace Orchard.PublishLater.Drivers {
public class PublishLaterPartDriver : ContentPartDriver<PublishLaterPart> {
private const string TemplateName = "Parts/PublishLater";
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IPublishLaterService _publishLaterService;
private const string DatePattern = "M/d/yyyy";
private const string TimePattern = "h:mm tt";
public PublishLaterPartDriver(
IOrchardServices services,
ICommonService commonService,
IHttpContextAccessor httpContextAccessor,
IPublishLaterService publishLaterService) {
_httpContextAccessor = httpContextAccessor;
_publishLaterService = publishLaterService;
T = NullLocalizer.Instance;
Services = services;
@@ -61,7 +62,7 @@ namespace Orchard.PublishLater.Drivers {
updater.TryUpdateModel(model, Prefix, null, null);
if (Services.WorkContext.Resolve<IHttpContextAccessor>().Current().Request.Form["submit.Save"] == "submit.PublishLater") {
if (_httpContextAccessor.Current().Request.Form["submit.Save"] == "submit.PublishLater") {
if (!string.IsNullOrWhiteSpace(model.ScheduledPublishDate) && !string.IsNullOrWhiteSpace(model.ScheduledPublishTime)) {
DateTime scheduled;
string parseDateTime = String.Concat(model.ScheduledPublishDate, " ", model.ScheduledPublishTime);

View File

@@ -26,8 +26,7 @@
// these are just hacked together to fire existing partials... can change
Model.Header.Add(Display.Header());
var thisUser = Html.Resolve<IAuthenticationService>().GetAuthenticatedUser();
Model.Header.Add(Display.User(CurrentUser: thisUser));
Model.Header.Add(Display.User(CurrentUser: WorkContext.CurrentUser));
Model.Footer.Add(Display.OrchardVersion());
if (Model.Title != null) {

View File

@@ -29,6 +29,7 @@ namespace Orchard.ContentManagement {
private readonly Func<IContentManagerSession> _contentManagerSession;
private readonly Lazy<IContentDisplay> _contentDisplay;
private readonly Lazy<ISessionLocator> _sessionLocator;
private readonly Lazy<IEnumerable<IContentHandler>> _handlers;
private const string Published = "Published";
private const string Draft = "Draft";
@@ -40,13 +41,15 @@ namespace Orchard.ContentManagement {
IContentDefinitionManager contentDefinitionManager,
Func<IContentManagerSession> contentManagerSession,
Lazy<IContentDisplay> contentDisplay,
Lazy<ISessionLocator> sessionLocator) {
Lazy<ISessionLocator> sessionLocator,
Lazy<IEnumerable<IContentHandler>> handlers) {
_context = context;
_contentTypeRepository = contentTypeRepository;
_contentItemRepository = contentItemRepository;
_contentItemVersionRepository = contentItemVersionRepository;
_contentDefinitionManager = contentDefinitionManager;
_contentManagerSession = contentManagerSession;
_handlers = handlers;
_contentDisplay = contentDisplay;
_sessionLocator = sessionLocator;
Logger = NullLogger.Instance;
@@ -54,15 +57,8 @@ namespace Orchard.ContentManagement {
public ILogger Logger { get; set; }
private IEnumerable<IContentHandler> _handlers;
public IEnumerable<IContentHandler> Handlers {
get {
if (_handlers == null) {
_handlers = _context.Resolve<IEnumerable<IContentHandler>>();
}
return _handlers;
}
get { return _handlers.Value; }
}
public IEnumerable<ContentTypeDefinition> GetContentTypeDefinitions() {

View File

@@ -1,21 +0,0 @@
using System;
using System.Web.Mvc;
namespace Orchard.Mvc.Html {
public interface IFoo{}
public static class ContainerExtensions {
/// <summary>
/// This method performed by Erik Weisz.
/// </summary>
/// <see cref="http://en.wikipedia.org/wiki/Harry_Houdini"/>
/// <returns>himself</returns>
public static TService Resolve<TService>(this HtmlHelper html) {
var workContext = html.ViewContext.RequestContext.GetWorkContext();
if (workContext == null)
throw new ApplicationException(string.Format(@"The WorkContext cannot be found for the request. Unable to resolve '{0}'.", typeof(TService)));
return workContext.Resolve<TService>();
}
}
}

View File

@@ -7,7 +7,6 @@ using System.Web.Mvc;
using System.Web.Mvc.Html;
using System.Web.Routing;
using Orchard.Localization;
using Orchard.Settings;
using Orchard.Utility;
using Orchard.Utility.Extensions;
using System.Web;
@@ -78,6 +77,15 @@ namespace Orchard.Mvc.Html {
return MvcHtmlString.Create(builder.ToString(TagRenderMode.Normal));
}
public static WorkContext GetWorkContext(this HtmlHelper html) {
var workContext = html.ViewContext.RequestContext.GetWorkContext();
if (workContext == null)
throw new ApplicationException("The WorkContext cannot be found for the request");
return workContext;
}
#region UnorderedList
public static IHtmlString UnorderedList<T>(this HtmlHelper htmlHelper, IEnumerable<T> items, Func<T, int, MvcHtmlString> generateContent, string cssClass) {
@@ -302,7 +310,7 @@ namespace Orchard.Mvc.Html {
#region AntiForgeryTokenOrchard
public static MvcHtmlString AntiForgeryTokenOrchard(this HtmlHelper htmlHelper) {
var siteSalt = htmlHelper.Resolve<ISiteService>().GetSiteSettings().SiteSalt;
var siteSalt = htmlHelper.GetWorkContext().CurrentSite.SiteSalt;
try {
return htmlHelper.AntiForgeryToken(siteSalt);

View File

@@ -24,15 +24,15 @@ namespace Orchard.Mvc.Html {
}
public static void AddTitleParts(this HtmlHelper html, params string[] titleParts) {
html.Resolve<IPageTitleBuilder>().AddTitleParts(titleParts);
html.GetWorkContext().Resolve<IPageTitleBuilder>().AddTitleParts(titleParts);
}
public static void AppendTitleParts(this HtmlHelper html, params string[] titleParts) {
html.Resolve<IPageTitleBuilder>().AppendTitleParts(titleParts);
html.GetWorkContext().Resolve<IPageTitleBuilder>().AppendTitleParts(titleParts);
}
public static MvcHtmlString Title(this HtmlHelper html, params string[] titleParts) {
IPageTitleBuilder pageTitleBuilder = html.Resolve<IPageTitleBuilder>();
var pageTitleBuilder = html.GetWorkContext().Resolve<IPageTitleBuilder>();
html.AddTitleParts(titleParts);
@@ -58,11 +58,11 @@ namespace Orchard.Mvc.Html {
}
public static void AddPageClassNames(this HtmlHelper html, params object[] classNames) {
html.Resolve<IPageClassBuilder>().AddClassNames(classNames);
html.GetWorkContext().Resolve<IPageClassBuilder>().AddClassNames(classNames);
}
public static MvcHtmlString ClassForPage(this HtmlHelper html, params object[] classNames) {
IPageClassBuilder pageClassBuilder = html.Resolve<IPageClassBuilder>();
IPageClassBuilder pageClassBuilder = html.GetWorkContext().Resolve<IPageClassBuilder>();
html.AddPageClassNames(classNames);
//todo: (heskew) need ContentItem.ContentType

View File

@@ -1,8 +1,6 @@
using System;
using System.Web.Mvc;
using System.Web.Mvc;
using System.Web.Mvc.Html;
using Orchard.Environment.Extensions.Models;
using Orchard.Themes;
using Orchard.Validation;
namespace Orchard.Mvc.Html {
@@ -15,11 +13,6 @@ namespace Orchard.Mvc.Html {
helper.RenderPartial(viewName);
}
[Obsolete("How do you know the request theme is the same as the place the theme template is rendering from?")]
public static string ThemePath(this HtmlHelper helper, string path) {
return helper.ThemePath(helper.Resolve<IThemeManager>().GetRequestTheme(helper.ViewContext.RequestContext), path);
}
public static string ThemePath(this HtmlHelper helper, ExtensionDescriptor theme, string path) {
return theme.Location + "/" + theme.Id + path;
}

View File

@@ -71,14 +71,19 @@ namespace Orchard.Mvc.ViewEngines.Razor {
public ScriptRegister Script {
get {
return _scriptRegister ??
(_scriptRegister = new WebViewScriptRegister(this, Html.ViewDataContainer, Html.Resolve<IResourceManager>()));
(_scriptRegister = new WebViewScriptRegister(this, Html.ViewDataContainer, ResourceManager));
}
}
private IResourceManager _resourceManager;
public IResourceManager ResourceManager {
get { return _resourceManager ?? (_resourceManager = _workContext.Resolve<IResourceManager>()); }
}
public ResourceRegister Style {
get {
return _stylesheetRegister ??
(_stylesheetRegister = new ResourceRegister(Html.ViewDataContainer, Html.Resolve<IResourceManager>(), "stylesheet"));
(_stylesheetRegister = new ResourceRegister(Html.ViewDataContainer, ResourceManager, "stylesheet"));
}
}
@@ -92,7 +97,7 @@ namespace Orchard.Mvc.ViewEngines.Razor {
}
public virtual void RegisterLink(LinkEntry link) {
Html.Resolve<IResourceManager>().RegisterLink(link);
ResourceManager.RegisterLink(link);
}
public void SetMeta(string name, string content) {
@@ -100,7 +105,7 @@ namespace Orchard.Mvc.ViewEngines.Razor {
}
public virtual void SetMeta(MetaEntry meta) {
Html.Resolve<IResourceManager>().SetMeta(meta);
ResourceManager.SetMeta(meta);
}
public void AppendMeta(string name, string content, string contentSeparator) {
@@ -108,7 +113,7 @@ namespace Orchard.Mvc.ViewEngines.Razor {
}
public virtual void AppendMeta(MetaEntry meta, string contentSeparator) {
Html.Resolve<IResourceManager>().AppendMeta(meta, contentSeparator);
ResourceManager.AppendMeta(meta, contentSeparator);
}
public override void InitHelpers() {
@@ -130,7 +135,7 @@ namespace Orchard.Mvc.ViewEngines.Razor {
}
public OrchardTagBuilder Tag(dynamic shape, string tagName) {
return Html.Resolve<ITagBuilderFactory>().Create(shape, tagName);
return Html.GetWorkContext().Resolve<ITagBuilderFactory>().Create(shape, tagName);
}
public IHtmlString DisplayChildren(dynamic shape) {

View File

@@ -28,7 +28,7 @@ namespace Orchard.Mvc {
public ScriptRegister Script {
get {
return _scriptRegister ??
(_scriptRegister = new ViewPageScriptRegister(Writer, Html.ViewDataContainer, Html.Resolve<IResourceManager>()));
(_scriptRegister = new ViewPageScriptRegister(Writer, Html.ViewDataContainer, Html.GetWorkContext().Resolve<IResourceManager>()));
}
}
@@ -43,7 +43,7 @@ namespace Orchard.Mvc {
public ResourceRegister Style {
get {
return _stylesheetRegister ??
(_stylesheetRegister = new ResourceRegister(Html.ViewDataContainer, Html.Resolve<IResourceManager>(), "stylesheet"));
(_stylesheetRegister = new ResourceRegister(Html.ViewDataContainer, Html.GetWorkContext().Resolve<IResourceManager>(), "stylesheet"));
}
}
@@ -59,7 +59,7 @@ namespace Orchard.Mvc {
}
public virtual void RegisterLink(LinkEntry link) {
Html.Resolve<IResourceManager>().RegisterLink(link);
Html.GetWorkContext().Resolve<IResourceManager>().RegisterLink(link);
}
public void SetMeta(string name, string content) {
@@ -67,7 +67,7 @@ namespace Orchard.Mvc {
}
public virtual void SetMeta(MetaEntry meta) {
Html.Resolve<IResourceManager>().SetMeta(meta);
Html.GetWorkContext().Resolve<IResourceManager>().SetMeta(meta);
}
public void AppendMeta(string name, string content, string contentSeparator) {
@@ -75,7 +75,7 @@ namespace Orchard.Mvc {
}
public virtual void AppendMeta(MetaEntry meta, string contentSeparator) {
Html.Resolve<IResourceManager>().AppendMeta(meta, contentSeparator);
Html.GetWorkContext().Resolve<IResourceManager>().AppendMeta(meta, contentSeparator);
}
public MvcHtmlString H(string value) {
@@ -91,7 +91,7 @@ namespace Orchard.Mvc {
}
public OrchardTagBuilder Tag(dynamic shape, string tagName) {
return Html.Resolve<ITagBuilderFactory>().Create(shape, tagName);
return Html.GetWorkContext().Resolve<ITagBuilderFactory>().Create(shape, tagName);
}
public IHtmlString DisplayChildren(dynamic shape) {

View File

@@ -35,19 +35,19 @@ namespace Orchard.Mvc {
public ScriptRegister Script {
get {
return _scriptRegister ??
(_scriptRegister = new ViewPage.ViewPageScriptRegister(Writer, Html.ViewDataContainer, Html.Resolve<IResourceManager>()));
(_scriptRegister = new ViewPage.ViewPageScriptRegister(Writer, Html.ViewDataContainer, Html.GetWorkContext().Resolve<IResourceManager>()));
}
}
public ResourceRegister Style {
get {
return _stylesheetRegister ??
(_stylesheetRegister = new ResourceRegister(Html.ViewDataContainer, Html.Resolve<IResourceManager>(), "stylesheet"));
(_stylesheetRegister = new ResourceRegister(Html.ViewDataContainer, Html.GetWorkContext().Resolve<IResourceManager>(), "stylesheet"));
}
}
public virtual void RegisterLink(LinkEntry link) {
Html.Resolve<IResourceManager>().RegisterLink(link);
Html.GetWorkContext().Resolve<IResourceManager>().RegisterLink(link);
}
public void SetMeta(string name, string content) {
@@ -55,7 +55,7 @@ namespace Orchard.Mvc {
}
public virtual void SetMeta(MetaEntry meta) {
Html.Resolve<IResourceManager>().SetMeta(meta);
Html.GetWorkContext().Resolve<IResourceManager>().SetMeta(meta);
}
public void AppendMeta(string name, string content, string contentSeparator) {
@@ -63,7 +63,7 @@ namespace Orchard.Mvc {
}
public virtual void AppendMeta(MetaEntry meta, string contentSeparator) {
Html.Resolve<IResourceManager>().AppendMeta(meta, contentSeparator);
Html.GetWorkContext().Resolve<IResourceManager>().AppendMeta(meta, contentSeparator);
}
public override void RenderView(ViewContext viewContext) {
@@ -90,7 +90,7 @@ namespace Orchard.Mvc {
}
public OrchardTagBuilder Tag(dynamic shape, string tagName) {
return Html.Resolve<ITagBuilderFactory>().Create(shape, tagName);
return Html.GetWorkContext().Resolve<ITagBuilderFactory>().Create(shape, tagName);
}
public IHtmlString DisplayChildren(dynamic shape) {

View File

@@ -815,7 +815,6 @@
<Compile Include="Logging\LoggingModule.cs" />
<Compile Include="Logging\NullLogger.cs" />
<Compile Include="Logging\NullLoggerFactory.cs" />
<Compile Include="Mvc\Html\ContainerExtensions.cs" />
<Compile Include="Mvc\Html\ContentItemExtensions.cs" />
<Compile Include="Mvc\Html\LayoutExtensions.cs" />
<Compile Include="Mvc\MvcModule.cs" />