/// <summary> /// Handle the action executing event and set the result to a view if documentation is requested. /// </summary> /// <param name="filterContext">The context of the event.</param> public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); ServiceAreaDescription serviceArea = new ServiceAreaDescription(filterContext.Controller.GetType().Assembly); if (filterContext.HttpContext.Request["mode"] == "help") { if (filterContext.Controller.GetType().Name == "HomeController") { filterContext.Result = new ViewResult() { ViewName = "~/bin/Views/Shared/ServiceAreaHelp.aspx", ViewData = new ViewDataDictionary<ServiceAreaDescription>(serviceArea), }; } else { ObjectDescription type = new ObjectDescription(filterContext.Controller.GetType(), serviceArea); if (filterContext.ActionDescriptor.ActionName.ToLower() == "index") { filterContext.Result = new ViewResult() { ViewName = "~/bin/Views/Shared/ObjectHelp.aspx", ViewData = new ViewDataDictionary<ObjectDescription>(type), }; } else { ActionDescription action = type.Actions.First(a => a.Name.ToLower() == filterContext.ActionDescriptor.ActionName.ToLower()); filterContext.Result = new ViewResult() { ViewName = "~/bin/Views/Shared/ActionHelp.aspx", ViewData = new ViewDataDictionary<ActionDescription>(action), }; } } } }
// Constructors public ActionDescription(MethodInfo method, ObjectDescription declaringObject) { this._declaringObject = declaringObject; this._method = method; }
public MemberDescription(PropertyInfo property, ObjectDescription declaringObject) { this._declaringObject = declaringObject; this._member = property; }
// Constructors public MemberDescription(FieldInfo field, ObjectDescription declaringObject) { this._declaringObject = declaringObject; this._member = field; }