<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ApacKernel.Web.MVC</name>
    </assembly>
    <members>
        <member name="T:ApacKernel.Web.MVC.CacheAttribute">
            <summary>
            Add cache value for action
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.CacheAttribute.#ctor(System.Double)">
            <summary>
            The <see cref="T:ApacKernel.Web.MVC.CacheAttribute"/> constructor.
            </summary>
            <param name="duration">Cache duration in seconds.</param>
        </member>
        <member name="M:ApacKernel.Web.MVC.CacheAttribute.OnActionExecuted(System.Web.Mvc.ActionExecutedContext)">
            <inheritdoc />
        </member>
        <member name="P:ApacKernel.Web.MVC.CacheAttribute.Duration">
            <summary>
            Gets or sets the cache duration in seconds.
            </summary>
            <value>The cache duration in seconds.</value>
        </member>
        <member name="T:ApacKernel.Web.MVC.CompressAttribute">
            <summary>
            Add <c>gzip</c> or <c>deflate</c> compression support for controller or method with this attribute
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.CompressAttribute.OnActionExecuting(System.Web.Mvc.ActionExecutingContext)">
            <inheritdoc />
        </member>
        <member name="T:ApacKernel.Web.MVC.EnumConstraint">
            <summary>
            Custom values constraint, use for attributes routing 'enum'
            </summary>
            <example>
            Following route will accept only values from <see cref="T:ApacKernel.Date.PeriodTypes"/> enumerator url parameters
            <code>
            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
                // Add this to routing configuration 
                var constraintsResolver = new DefaultInlineConstraintResolver();
                constraintsResolver.ConstraintMap.Add("enum", typeof(EnumConstraint));
                routes.MapMvcAttributeRoutes(constraintsResolver);
            }
            
            // Then you can use this in your controller 
            [Route("summary/{period:enum(ApacKernel.Date.PeriodTypes)}")]
            public ActionResult Summary(string period)
            {
                return View();
            }
            </code>
            </example>
        </member>
        <member name="M:ApacKernel.Web.MVC.EnumConstraint.#ctor(System.String)">
            <summary>
            Create new <see cref="T:ApacKernel.Web.MVC.EnumConstraint"/>
            </summary>
            <param name="enumType"></param>
        </member>
        <member name="M:ApacKernel.Web.MVC.EnumConstraint.Match(System.Web.HttpContextBase,System.Web.Routing.Route,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteDirection)">
            <inheritdoc />
        </member>
        <member name="T:ApacKernel.Web.MVC.NamespaceDoc">
            <summary>
            The <see cref="N:ApacKernel.Web.MVC"/> namespace contains base Asp.Net MVC classes and helpers.
            </summary>
        </member>
        <member name="T:ApacKernel.Web.MVC.MvcHelper">
            <summary>
            MVC helper
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetDefaultUrl(System.Web.Mvc.WebViewPage)">
            <summary>
            Get default url for <see cref="P:ApacKernel.Web.MVC.MvcHelper.LandingController"/> and <see cref="P:ApacKernel.Web.MVC.MvcHelper.LandingPage"/> pair
            </summary>
            <param name="view">Current view</param>
            <returns>Url string to default view</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetPartialViewList(System.Web.Mvc.ViewDataDictionary)">
            <summary>
            Get partial views list
            </summary>
            <param name="viewData">Source view data</param>
            <returns>List of partial views from <paramref name="viewData"/></returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetFileNameByPath(System.String)">
            <summary>
            Get file anme from specific url
            </summary>
            <param name="webPath">Url string</param>
            <returns>Last url value as the file name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetCompiledViewName(System.Web.Mvc.IView)">
            <summary>
            Get compiled view name
            </summary>
            <param name="view">Source view</param>
            <returns>Compiled view name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetViewMasterName(System.Web.Mvc.HtmlHelper)">
            <summary>
            Get Master view name
            </summary>
            <param name="helper">MVC HTML helper</param>
            <returns>Master view name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetViewMasterName(System.Web.Mvc.IView)">
            <summary>
            Get Master view name
            </summary>
            <param name="view">Source view</param>     
            <returns>Master view name</returns>   
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.InputPartialView(System.Web.Mvc.HtmlHelper,System.String,System.Object)">
            <summary>
            Include specific partial view to current view context
            </summary>
            <param name="helper">MVC HTML helper</param>
            <param name="viewName">Partial view name</param>
            <param name="model">Partial view model</param>
            <returns>Result <see cref="T:System.Web.HtmlString"/></returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetControllerName">
            <summary>
            Get current controller name
            </summary>
            <returns>Controller name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetControllerName(System.Web.Mvc.WebViewPage)">
            <summary>
            Get current controller name
            </summary>
            <param name="page">View page</param>
            <returns>Controller name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetActionName">
            <summary>
            Get current controller action name
            </summary>
            <returns>Current controller action name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetActionName(System.Web.Mvc.WebViewPage)">
            <summary>
            Get current controller action name
            </summary>
            <param name="page">View page</param>
            <returns>Current controller action name</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.BeginFormHttps(System.Web.Mvc.HtmlHelper,System.String,System.String)">
            <summary>
            Create HTML <c>form</c> with https call on submit
            </summary>
            <param name="htmlHelper">MVC HTML helper</param>
            <param name="actionName">Submit action name</param>
            <param name="controllerName">Submit controller name</param>
            <returns>Form context</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.Copyright(System.Int32,System.Type,System.String)">
            <summary>
            Create standart copyright string
            </summary>
            <param name="startYear">Started project year</param>
            <param name="assemblyType">Donor assembly to get version</param>
            <param name="companyName">Company name</param>
            <returns>Copyright string</returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.MvcHelper.GetTitle(System.Web.Mvc.WebViewPage,System.String)">
            <summary>
            Get page title
            </summary>
            <param name="page">Source page</param>
            <param name="separator">Separator string</param>
            <returns>Page title as <c>{ViewBag.Title} {<paramref name="separator"/>} {<see cref="P:ApacKernel.Web.MVC.MvcHelper.ApplicationTitle"/>}</c> </returns>
        </member>
        <member name="P:ApacKernel.Web.MVC.MvcHelper.ApplicationTitle">
            <summary>
            MVC application main title
            </summary>
        </member>
        <member name="P:ApacKernel.Web.MVC.MvcHelper.LandingPage">
            <summary>
            Default view
            </summary>
        </member>
        <member name="P:ApacKernel.Web.MVC.MvcHelper.LandingController">
            <summary>
            Default controller
            </summary>
        </member>
        <member name="T:ApacKernel.Web.MVC.IPermissionProvider">
            <summary>
            Permission provider interface
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.IPermissionProvider.Check(System.Object)">
            <summary>
            Check permission
            </summary>
            <param name="permission">Permission object</param>
            <returns>Return <c>true</c> if subject has <paramref name="permission"/></returns>
        </member>
        <member name="M:ApacKernel.Web.MVC.IPermissionProvider.FailAction(System.Web.Mvc.AuthorizationContext)">
            <summary>
            Action which will run if permission check failed in <see cref="T:ApacKernel.Web.MVC.PermissionAttribute"/>
            </summary>
            <param name="filterContext">The filter context.</param>
            <returns><see cref="T:System.Web.Mvc.ActionResult"/> object</returns>
        </member>
        <member name="T:ApacKernel.Web.MVC.PermissionAttribute">
            <summary>
            Permission attribute
            </summary>
            <example>
            Folowing example show how to use <see cref="T:ApacKernel.Web.MVC.PermissionAttribute"/>.
            
            <code>
             // In dependencies injection add this lines
             builder.RegisterType&lt;MyPermissionService&gt;().As&lt;IPermissionProvider&gt;();
             builder.RegisterType&lt;PermissionAttribute&gt;().PropertiesAutowired();
             builder.RegisterFilterProvider();
            
             // Then in the controller code
             [Permission("IndexPermission")]
             public ActionResult Index() 
             {
               ....
             }
             [Permission(1023)]
             [Permission(1024)] 
             public ActionResult ActionWithTwoPermissions()
             {
               ....
             }
            </code>
            </example>
        </member>
        <member name="M:ApacKernel.Web.MVC.PermissionAttribute.#ctor(System.Object)">
            <summary>
            Base constructor
            </summary>
            <param name="permission">Permission for check</param>
        </member>
        <member name="M:ApacKernel.Web.MVC.PermissionAttribute.OnAuthorization(System.Web.Mvc.AuthorizationContext)">
            <inheritdoc />
        </member>
        <member name="M:ApacKernel.Web.MVC.PermissionAttribute.HandleNotPermissionRequest(System.Web.Mvc.AuthorizationContext)">
            <summary>
            Handle not permission request
            </summary>
            <param name="filterContext">The filter context.</param>
        </member>
        <member name="P:ApacKernel.Web.MVC.PermissionAttribute.Provider">
            <summary>
            <see cref="T:ApacKernel.Web.MVC.IPermissionProvider"/> provider
            </summary>
        </member>
        <member name="P:ApacKernel.Web.MVC.PermissionAttribute.Permission">
            <summary>
            Permission for check
            </summary>
        </member>
        <member name="T:ApacKernel.Web.MVC.HttpsRequiredAttribute">
            <summary>
            Add https requirements to call controller or method with this attribute
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.HttpsRequiredAttribute.#ctor">
            <summary>
            Initialize <see cref="T:ApacKernel.Web.MVC.HttpsRequiredAttribute"/> with <see cref="P:ApacKernel.Web.MVC.HttpsRequiredAttribute.RequireSecure"/> is <c>true</c> value
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.HttpsRequiredAttribute.#ctor(System.Boolean)">
            <summary>
            Initialize <see cref="T:ApacKernel.Web.MVC.HttpsRequiredAttribute"/>
            </summary>
            <param name="requireSecure">Flag which enable https call checking</param>
        </member>
        <member name="M:ApacKernel.Web.MVC.HttpsRequiredAttribute.OnAuthorization(System.Web.Mvc.AuthorizationContext)">
            <summary>
            Determines whether a request is secured (HTTPS) and, if it is not, calls the <see cref="M:ApacKernel.Web.MVC.HttpsRequiredAttribute.HandleNonHttpRequest(System.Web.Mvc.AuthorizationContext)"/> method.
            </summary>
            <remarks>Method not checking <c>localhost</c> request and if <see cref="M:ApacKernel.Web.WebAppSettings.UseHttps(ApacKernel.AppSettings)"/> set to <c>false</c></remarks>
            <param name="filterContext">An object that encapsulates information that is required in order to use the <see cref="T:ApacKernel.Web.MVC.HttpsRequiredAttribute"/> attribute.</param>
        </member>
        <member name="M:ApacKernel.Web.MVC.HttpsRequiredAttribute.HandleNonHttpRequest(System.Web.Mvc.AuthorizationContext)">
            <summary>
            Handle non https request
            </summary>
            <param name="filterContext">Source action context</param>
        </member>
        <member name="P:ApacKernel.Web.MVC.HttpsRequiredAttribute.RequireSecure">
            <summary>
            Flag which enable https call checking
            </summary>
        </member>
        <member name="T:ApacKernel.Web.MVC.ServerStampAttribute">
            <summary>
            Stamp all responses from controller or action by <c>X-STS</c> and <c>X-SID</c> in header
            </summary>
        </member>
        <member name="M:ApacKernel.Web.MVC.ServerStampAttribute.OnActionExecuted(System.Web.Mvc.ActionExecutedContext)">
            <summary>
            Called by the ASP.NET MVC framework before the action method executes.
            </summary>
            <param name="filterContext">The filter context.</param>
        </member>
        <member name="T:ApacKernel.Web.MVC.ValuesConstraint">
            <summary>
            Custom values constraint, use for attributes routing 'values'
            </summary>
            <example>
            Following route will accept only days/weeks/months url parameters   
            <code>
            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
                // Add this to routing configuration
                var constraintsResolver = new DefaultInlineConstraintResolver();
                constraintsResolver.ConstraintMap.Add("values", typeof(ValuesConstraint));
                routes.MapMvcAttributeRoutes(constraintsResolver);
            }
            
            // Then you can use this in your controller 
            [Route("summary/{period:values(days|weeks|months)}")]
            public ActionResult Summary(string period)
            {
                return View();
            }
            </code>
            </example>
        </member>
        <member name="M:ApacKernel.Web.MVC.ValuesConstraint.#ctor(System.String)">
            <summary>
            Create new <see cref="T:ApacKernel.Web.MVC.ValuesConstraint"/>
            </summary>
            <param name="options">Array of options splitted by '|'</param>
        </member>
        <member name="M:ApacKernel.Web.MVC.ValuesConstraint.Match(System.Web.HttpContextBase,System.Web.Routing.Route,System.String,System.Web.Routing.RouteValueDictionary,System.Web.Routing.RouteDirection)">
            <inheritdoc />
        </member>
    </members>
</doc>
