63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						|
using System.Web.Http;
 | 
						|
using System.Web.Mvc;
 | 
						|
using WebAPI.Areas.HelpPage.ModelDescriptions;
 | 
						|
using WebAPI.Areas.HelpPage.Models;
 | 
						|
 | 
						|
namespace WebAPI.Areas.HelpPage.Controllers
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// The controller that will handle requests for the help page.
 | 
						|
    /// </summary>
 | 
						|
    public class HelpController : Controller
 | 
						|
    {
 | 
						|
        private const string ErrorViewName = "Error";
 | 
						|
 | 
						|
        public HelpController()
 | 
						|
            : this(GlobalConfiguration.Configuration)
 | 
						|
        {
 | 
						|
        }
 | 
						|
 | 
						|
        public HelpController(HttpConfiguration config)
 | 
						|
        {
 | 
						|
            Configuration = config;
 | 
						|
        }
 | 
						|
 | 
						|
        public HttpConfiguration Configuration { get; private set; }
 | 
						|
 | 
						|
        public ActionResult Index()
 | 
						|
        {
 | 
						|
            ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider();
 | 
						|
            return View(Configuration.Services.GetApiExplorer().ApiDescriptions);
 | 
						|
        }
 | 
						|
 | 
						|
        public ActionResult Api(string apiId)
 | 
						|
        {
 | 
						|
            if (!String.IsNullOrEmpty(apiId))
 | 
						|
            {
 | 
						|
                HelpPageApiModel apiModel = Configuration.GetHelpPageApiModel(apiId);
 | 
						|
                if (apiModel != null)
 | 
						|
                {
 | 
						|
                    return View(apiModel);
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            return View(ErrorViewName);
 | 
						|
        }
 | 
						|
 | 
						|
        public ActionResult ResourceModel(string modelName)
 | 
						|
        {
 | 
						|
            if (!String.IsNullOrEmpty(modelName))
 | 
						|
            {
 | 
						|
                ModelDescriptionGenerator modelDescriptionGenerator = Configuration.GetModelDescriptionGenerator();
 | 
						|
                ModelDescription modelDescription;
 | 
						|
                if (modelDescriptionGenerator.GeneratedModels.TryGetValue(modelName, out modelDescription))
 | 
						|
                {
 | 
						|
                    return View(modelDescription);
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            return View(ErrorViewName);
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |