// <auto-generated />
// This file was generated by a T4 template.
// Don't change it directly as your change would get overwritten.  Instead, make changes
// to the .tt file (i.e. the T4 template) and save it to regenerate this file.

// Make sure the compiler doesn't complain about missing Xml comments and CLS compliance
// 0108: suppress "Foo hides inherited member Foo. Use the new keyword if hiding was intended." when a controller and its abstract parent are both processed
// 0114: suppress "Foo.BarController.Baz()' hides inherited member 'Qux.BarController.Baz()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." when an action (with an argument) overrides an action in a parent controller
#pragma warning disable 1591, 3008, 3009, 0108, 0114
#region T4MVC

using System;
using System.Diagnostics;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using System.Web;
using System.Web.Hosting;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.Web.Mvc.Html;
using System.Web.Routing;
using T4MVC;
namespace Disco.Web.Areas.API.Controllers
{
    public partial class LoggingController
    {
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public LoggingController() { }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        protected LoggingController(Dummy d) { }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        protected RedirectToRouteResult RedirectToAction(ActionResult result)
        {
            var callInfo = result.GetT4MVCResult();
            return RedirectToRoute(callInfo.RouteValueDictionary);
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        protected RedirectToRouteResult RedirectToAction(Task<ActionResult> taskResult)
        {
            return RedirectToAction(taskResult.Result);
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        protected RedirectToRouteResult RedirectToActionPermanent(ActionResult result)
        {
            var callInfo = result.GetT4MVCResult();
            return RedirectToRoutePermanent(callInfo.RouteValueDictionary);
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        protected RedirectToRouteResult RedirectToActionPermanent(Task<ActionResult> taskResult)
        {
            return RedirectToActionPermanent(taskResult.Result);
        }

        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult RetrieveEvents()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.RetrieveEvents);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult ScheduledTaskStatus()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.ScheduledTaskStatus);
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public LoggingController Actions { get { return MVC.API.Logging; } }
        [GeneratedCode("T4MVC", "2.0")]
        public readonly string Area = "API";
        [GeneratedCode("T4MVC", "2.0")]
        public readonly string Name = "Logging";
        [GeneratedCode("T4MVC", "2.0")]
        public const string NameConst = "Logging";
        [GeneratedCode("T4MVC", "2.0")]
        static readonly ActionNamesClass s_actions = new ActionNamesClass();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionNamesClass ActionNames { get { return s_actions; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionNamesClass
        {
            public readonly string Modules = "Modules";
            public readonly string RetrieveEvents = "RetrieveEvents";
            public readonly string ScheduledTaskStatus = "ScheduledTaskStatus";
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionNameConstants
        {
            public const string Modules = "Modules";
            public const string RetrieveEvents = "RetrieveEvents";
            public const string ScheduledTaskStatus = "ScheduledTaskStatus";
        }


        static readonly ActionParamsClass_RetrieveEvents s_params_RetrieveEvents = new ActionParamsClass_RetrieveEvents();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_RetrieveEvents RetrieveEventsParams { get { return s_params_RetrieveEvents; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_RetrieveEvents
        {
            public readonly string Format = "Format";
            public readonly string Start = "Start";
            public readonly string End = "End";
            public readonly string ModuleId = "ModuleId";
            public readonly string EventTypeIds = "EventTypeIds";
            public readonly string Take = "Take";
        }
        static readonly ActionParamsClass_ScheduledTaskStatus s_params_ScheduledTaskStatus = new ActionParamsClass_ScheduledTaskStatus();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_ScheduledTaskStatus ScheduledTaskStatusParams { get { return s_params_ScheduledTaskStatus; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_ScheduledTaskStatus
        {
            public readonly string id = "id";
        }
        static readonly ViewsClass s_views = new ViewsClass();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ViewsClass Views { get { return s_views; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ViewsClass
        {
            static readonly _ViewNamesClass s_ViewNames = new _ViewNamesClass();
            public _ViewNamesClass ViewNames { get { return s_ViewNames; } }
            public class _ViewNamesClass
            {
            }
        }
    }

    [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
    public partial class T4MVC_LoggingController : Disco.Web.Areas.API.Controllers.LoggingController
    {
        public T4MVC_LoggingController() : base(Dummy.Instance) { }

        [NonAction]
        partial void ModulesOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);

        [NonAction]
        public override System.Web.Mvc.ActionResult Modules()
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Modules);
            ModulesOverride(callInfo);
            return callInfo;
        }

        [NonAction]
        partial void RetrieveEventsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string Format, System.DateTime? Start, System.DateTime? End, int? ModuleId, System.Collections.Generic.List<int> EventTypeIds, int? Take);

        [NonAction]
        public override System.Web.Mvc.ActionResult RetrieveEvents(string Format, System.DateTime? Start, System.DateTime? End, int? ModuleId, System.Collections.Generic.List<int> EventTypeIds, int? Take)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.RetrieveEvents);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Format", Format);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Start", Start);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "End", End);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "ModuleId", ModuleId);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "EventTypeIds", EventTypeIds);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Take", Take);
            RetrieveEventsOverride(callInfo, Format, Start, End, ModuleId, EventTypeIds, Take);
            return callInfo;
        }

        [NonAction]
        partial void ScheduledTaskStatusOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string id);

        [NonAction]
        public override System.Web.Mvc.ActionResult ScheduledTaskStatus(string id)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.ScheduledTaskStatus);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ScheduledTaskStatusOverride(callInfo, id);
            return callInfo;
        }

    }
}

#endregion T4MVC
#pragma warning restore 1591, 3008, 3009, 0108, 0114
