// <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 JobQueueJobController
    {
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public JobQueueJobController() { }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        protected JobQueueJobController(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 Update()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Update);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult UpdateAddedComment()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateAddedComment);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult UpdateRemovedComment()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateRemovedComment);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult UpdateSla()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateSla);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult UpdatePriority()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdatePriority);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult UpdateSlaAndPriority()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateSlaAndPriority);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult AddJob()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.AddJob);
        }
        [NonAction]
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public virtual System.Web.Mvc.ActionResult RemoveJob()
        {
            return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.RemoveJob);
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public JobQueueJobController Actions { get { return MVC.API.JobQueueJob; } }
        [GeneratedCode("T4MVC", "2.0")]
        public readonly string Area = "API";
        [GeneratedCode("T4MVC", "2.0")]
        public readonly string Name = "JobQueueJob";
        [GeneratedCode("T4MVC", "2.0")]
        public const string NameConst = "JobQueueJob";
        [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 Update = "Update";
            public readonly string UpdateAddedComment = "UpdateAddedComment";
            public readonly string UpdateRemovedComment = "UpdateRemovedComment";
            public readonly string UpdateSla = "UpdateSla";
            public readonly string UpdatePriority = "UpdatePriority";
            public readonly string UpdateSlaAndPriority = "UpdateSlaAndPriority";
            public readonly string AddJob = "AddJob";
            public readonly string RemoveJob = "RemoveJob";
        }

        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionNameConstants
        {
            public const string Update = "Update";
            public const string UpdateAddedComment = "UpdateAddedComment";
            public const string UpdateRemovedComment = "UpdateRemovedComment";
            public const string UpdateSla = "UpdateSla";
            public const string UpdatePriority = "UpdatePriority";
            public const string UpdateSlaAndPriority = "UpdateSlaAndPriority";
            public const string AddJob = "AddJob";
            public const string RemoveJob = "RemoveJob";
        }


        static readonly ActionParamsClass_Update s_params_Update = new ActionParamsClass_Update();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_Update UpdateParams { get { return s_params_Update; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_Update
        {
            public readonly string id = "id";
            public readonly string key = "key";
            public readonly string value = "value";
            public readonly string redirect = "redirect";
        }
        static readonly ActionParamsClass_UpdateAddedComment s_params_UpdateAddedComment = new ActionParamsClass_UpdateAddedComment();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_UpdateAddedComment UpdateAddedCommentParams { get { return s_params_UpdateAddedComment; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_UpdateAddedComment
        {
            public readonly string id = "id";
            public readonly string AddedComment = "AddedComment";
            public readonly string redirect = "redirect";
        }
        static readonly ActionParamsClass_UpdateRemovedComment s_params_UpdateRemovedComment = new ActionParamsClass_UpdateRemovedComment();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_UpdateRemovedComment UpdateRemovedCommentParams { get { return s_params_UpdateRemovedComment; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_UpdateRemovedComment
        {
            public readonly string id = "id";
            public readonly string RemovedComment = "RemovedComment";
            public readonly string redirect = "redirect";
        }
        static readonly ActionParamsClass_UpdateSla s_params_UpdateSla = new ActionParamsClass_UpdateSla();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_UpdateSla UpdateSlaParams { get { return s_params_UpdateSla; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_UpdateSla
        {
            public readonly string id = "id";
            public readonly string SLA = "SLA";
            public readonly string redirect = "redirect";
        }
        static readonly ActionParamsClass_UpdatePriority s_params_UpdatePriority = new ActionParamsClass_UpdatePriority();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_UpdatePriority UpdatePriorityParams { get { return s_params_UpdatePriority; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_UpdatePriority
        {
            public readonly string id = "id";
            public readonly string Priority = "Priority";
            public readonly string redirect = "redirect";
        }
        static readonly ActionParamsClass_UpdateSlaAndPriority s_params_UpdateSlaAndPriority = new ActionParamsClass_UpdateSlaAndPriority();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_UpdateSlaAndPriority UpdateSlaAndPriorityParams { get { return s_params_UpdateSlaAndPriority; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_UpdateSlaAndPriority
        {
            public readonly string id = "id";
            public readonly string Sla = "Sla";
            public readonly string Priority = "Priority";
            public readonly string redirect = "redirect";
        }
        static readonly ActionParamsClass_AddJob s_params_AddJob = new ActionParamsClass_AddJob();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_AddJob AddJobParams { get { return s_params_AddJob; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_AddJob
        {
            public readonly string id = "id";
            public readonly string JobId = "JobId";
            public readonly string Comment = "Comment";
            public readonly string SLAExpiresMinutes = "SLAExpiresMinutes";
            public readonly string Priority = "Priority";
        }
        static readonly ActionParamsClass_RemoveJob s_params_RemoveJob = new ActionParamsClass_RemoveJob();
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public ActionParamsClass_RemoveJob RemoveJobParams { get { return s_params_RemoveJob; } }
        [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
        public class ActionParamsClass_RemoveJob
        {
            public readonly string id = "id";
            public readonly string Comment = "Comment";
            public readonly string CloseJob = "CloseJob";
        }
        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_JobQueueJobController : Disco.Web.Areas.API.Controllers.JobQueueJobController
    {
        public T4MVC_JobQueueJobController() : base(Dummy.Instance) { }

        [NonAction]
        partial void UpdateOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string key, string value, bool? redirect);

        [NonAction]
        public override System.Web.Mvc.ActionResult Update(int id, string key, string value, bool? redirect)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Update);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "key", key);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "value", value);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
            UpdateOverride(callInfo, id, key, value, redirect);
            return callInfo;
        }

        [NonAction]
        partial void UpdateAddedCommentOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string AddedComment, bool? redirect);

        [NonAction]
        public override System.Web.Mvc.ActionResult UpdateAddedComment(int id, string AddedComment, bool? redirect)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateAddedComment);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "AddedComment", AddedComment);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
            UpdateAddedCommentOverride(callInfo, id, AddedComment, redirect);
            return callInfo;
        }

        [NonAction]
        partial void UpdateRemovedCommentOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string RemovedComment, bool? redirect);

        [NonAction]
        public override System.Web.Mvc.ActionResult UpdateRemovedComment(int id, string RemovedComment, bool? redirect)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateRemovedComment);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "RemovedComment", RemovedComment);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
            UpdateRemovedCommentOverride(callInfo, id, RemovedComment, redirect);
            return callInfo;
        }

        [NonAction]
        partial void UpdateSlaOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string SLA, bool? redirect);

        [NonAction]
        public override System.Web.Mvc.ActionResult UpdateSla(int id, string SLA, bool? redirect)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateSla);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "SLA", SLA);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
            UpdateSlaOverride(callInfo, id, SLA, redirect);
            return callInfo;
        }

        [NonAction]
        partial void UpdatePriorityOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string Priority, bool? redirect);

        [NonAction]
        public override System.Web.Mvc.ActionResult UpdatePriority(int id, string Priority, bool? redirect)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdatePriority);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Priority", Priority);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
            UpdatePriorityOverride(callInfo, id, Priority, redirect);
            return callInfo;
        }

        [NonAction]
        partial void UpdateSlaAndPriorityOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string Sla, string Priority, bool? redirect);

        [NonAction]
        public override System.Web.Mvc.ActionResult UpdateSlaAndPriority(int id, string Sla, string Priority, bool? redirect)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateSlaAndPriority);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Sla", Sla);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Priority", Priority);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
            UpdateSlaAndPriorityOverride(callInfo, id, Sla, Priority, redirect);
            return callInfo;
        }

        [NonAction]
        partial void AddJobOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, int JobId, string Comment, int? SLAExpiresMinutes, Disco.Models.Repository.JobQueuePriority Priority);

        [NonAction]
        public override System.Web.Mvc.ActionResult AddJob(int id, int JobId, string Comment, int? SLAExpiresMinutes, Disco.Models.Repository.JobQueuePriority Priority)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.AddJob);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "JobId", JobId);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Comment", Comment);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "SLAExpiresMinutes", SLAExpiresMinutes);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Priority", Priority);
            AddJobOverride(callInfo, id, JobId, Comment, SLAExpiresMinutes, Priority);
            return callInfo;
        }

        [NonAction]
        partial void RemoveJobOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string Comment, bool? CloseJob);

        [NonAction]
        public override System.Web.Mvc.ActionResult RemoveJob(int id, string Comment, bool? CloseJob)
        {
            var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.RemoveJob);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Comment", Comment);
            ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "CloseJob", CloseJob);
            RemoveJobOverride(callInfo, id, Comment, CloseJob);
            return callInfo;
        }

    }
}

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