/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Everest.CmsServices.MvcHelper;
namespace Everest.CmsServices.Extension.Module{
public class ModuleRequestContext : RequestContext
{
/// <summary>
/// Initializes a new instance of the <see cref="ModuleRequestContext"/> class.
/// </summary>
/// <param name="httpContext">The HTTP context.</param>
/// <param name="moduleRouteData">The module route data.</param>
/// <param name="pageRouteData">The page route data.</param>
/// <param name="moduleUrlConvertor">The module URL convertor.</param>
/// <param name="moduleInfo">The module info.</param>
/// <param name="parentPageContext">The parent page context.</param>
public ModuleRequestContext(HttpContextBase httpContext, RouteData moduleRouteData,
CmsPageRouteData pageRouteData, IModuleUrlConvertor moduleUrlConvertor, ModuleInfo moduleInfo, ParentPageContext parentPageContext)
: base(httpContext, moduleRouteData)
{
//set the ModuleRequestContext
((ModuleHttpResponse)this.HttpContext.Response).ModuleRequestContext = this;
this.PageRouteData = pageRouteData;
this.ModuleUrlConvertor = moduleUrlConvertor;
this.ModuleInfo = moduleInfo;
this.ParentPageContext = parentPageContext;
}
/// <summary>
/// Gets or sets the page route data.
/// </summary>
/// <value>The page route data.</value>
public CmsPageRouteData PageRouteData { get; private set; }
/// <summary>
/// Gets or sets the module URL convertor.
/// </summary>
/// <value>The module URL convertor.</value>
public IModuleUrlConvertor ModuleUrlConvertor { get; private set; }
/// <summary>
/// Gets or sets the module info.
/// </summary>
/// <value>The module info.</value>
public ModuleInfo ModuleInfo { get; private set; }
/// <summary>
/// Gets the route table.
/// </summary>
/// <value>The route table.</value>
public RouteCollection RouteTable
{
get
{
return ModuleInfo.RouteTable;
}
}
/// <summary>
/// Gets or sets the parent page context.
/// </summary>
/// <value>The parent page context.</value>
public ParentPageContext ParentPageContext { get; private set; }
}
}
|