Exemplo n.º 1
0
        /// <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),
                        };
                    }
                }
            }
        }
Exemplo n.º 2
0
 // Constructors
 public ActionDescription(MethodInfo method, ObjectDescription declaringObject)
 {
     this._declaringObject = declaringObject;
     this._method = method;
 }
Exemplo n.º 3
0
 public MemberDescription(PropertyInfo property, ObjectDescription declaringObject)
 {
     this._declaringObject = declaringObject;
     this._member = property;
 }
Exemplo n.º 4
0
 // Constructors
 public MemberDescription(FieldInfo field, ObjectDescription declaringObject)
 {
     this._declaringObject = declaringObject;
     this._member = field;
 }