Files
2025-07-20 11:24:04 +10:00

115 lines
4.1 KiB
C#

using Disco.Services.Interop.ActiveDirectory;
using System;
using System.Web.Mvc;
namespace Disco.Web.Controllers
{
public partial class UserController
{
internal static void T4MVCAddUserIdRouteValues(T4MVC_System_Web_Mvc_ActionResult callInfo, string UserId)
{
var slashIndex = UserId.IndexOf('\\');
if (slashIndex < 0)
throw new ArgumentException("The User Id is not in the correct format ({Domain}\\{Id})", "id");
string userDomain = UserId.Substring(0, slashIndex);
if (userDomain.Equals(ActiveDirectory.Context.PrimaryDomain.NetBiosName, StringComparison.OrdinalIgnoreCase))
userDomain = null; // Url doesn't contain Domain if it is the default.
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", UserId.Substring(slashIndex + 1));
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "domain", userDomain);
}
[NonAction]
public virtual ActionResult Show(string id)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Show);
T4MVCAddUserIdRouteValues(callInfo, id);
return callInfo;
}
}
}
namespace Disco.Web.Areas.API.Controllers
{
public partial class UserController
{
[NonAction]
public virtual ActionResult Comments(string id)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(Comments));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
return callInfo;
}
[NonAction]
public virtual ActionResult CommentAdd(string id, string comment = null)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(CommentAdd));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, nameof(comment), comment);
return callInfo;
}
[NonAction]
public virtual ActionResult AttachmentUpload(string id, string Comments)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(AttachmentUpload));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, nameof(Comments), Comments);
return callInfo;
}
[NonAction]
public virtual ActionResult Attachments(string id)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(Attachments));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
return callInfo;
}
[NonAction]
public virtual ActionResult AttachmentOnlineUploadSession(string id)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(AttachmentOnlineUploadSession));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
return callInfo;
}
[NonAction]
public virtual ActionResult GeneratePdf(string id, string DocumentTemplateId)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(GeneratePdf));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, nameof(DocumentTemplateId), DocumentTemplateId);
return callInfo;
}
[NonAction]
public virtual ActionResult GeneratePdfPackage(string id, string DocumentTemplatePackageId)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, nameof(GeneratePdfPackage));
Web.Controllers.UserController.T4MVCAddUserIdRouteValues(callInfo, id);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, nameof(DocumentTemplatePackageId), DocumentTemplatePackageId);
return callInfo;
}
}
}