protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); Int32 cid = filterContext.RouteData.GetInt32("cid", -1); if (cid <= 0) { throw new InvalidRequstException(RequestType.Contest); } ContestEntity contest = ContestManager.GetContest(cid); Boolean hasPermission = AdminManager.HasPermission(PermissionType.ContestManage); if (!hasPermission && contest.IsHide) { throw new NoPermissionException("You have no privilege to view this contest!"); } if (!hasPermission && contest.StartTime > DateTime.Now) { throw new NoPermissionException("This contest has not been started yet!"); } if (!hasPermission && (contest.ContestType == ContestType.Private || contest.ContestType == ContestType.RegisterPrivate)) { if (!ContestUserManager.ContestContainsUser(contest.ContestID, UserManager.CurrentUserName)) { throw new NoPermissionException("You have no privilege to view this contest!"); } } filterContext.ActionParameters["Contest"] = contest; ViewData["Contest"] = contest; }
/// <summary> /// 竞赛用户管理页面 /// </summary> /// <param name="cid">竞赛ID</param> /// <param name="id">页面索引</param> /// <returns>操作后的结果</returns> public ActionResult UserList(Int32 cid, Int32 id = 1) { PagedList <ContestUserEntity> list = ContestUserManager.AdminGetContestUserList(cid, id); ViewBag.ContestID = cid; return(ViewWithPager(list, id)); }
public ActionResult Register(Int32 id, FormCollection form) { if (!ContestUserManager.RegisterCurrentUser(id, form["realname"])) { return(RedirectToErrorMessagePage("Contest Registration Failed!")); } return(RedirectToSuccessMessagePage("Your have register this contest successfully!")); }
public ActionResult UserAdd(Int32 id, FormCollection form) { return(ResultToMessagePage(() => { IMethodResult result = ContestUserManager.AdminInsertContestUsers(id, form["usernames"]); if (!result.IsSuccess) { return new Tuple <IMethodResult, String>(result, String.Empty); } String successInfo = String.Format("{0} contest user(s) have been successfully added!", result.ResultObject.ToString()); return new Tuple <IMethodResult, String>(result, successInfo); })); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { ContestEntity contest = filterContext.ActionParameters["Contest"] as ContestEntity; Boolean hasPermission = AdminManager.HasPermission(PermissionType.ContestManage); if (contest.EndTime < DateTime.Now) { throw new NoPermissionException("This contest has ended!"); } if (!hasPermission && contest.ContestType == ContestType.RegisterPublic) { if (!ContestUserManager.ContestContainsUser(contest.ContestID, UserManager.CurrentUserName)) { throw new NoPermissionException("You have no privilege to submit in this contest!"); } } }
public ActionResult Export(Int32 id, FormCollection form) { String usernames = String.Empty; if (String.Equals(form["enablerealname"], "1")) { IMethodResult result = ContestUserManager.AdminGetContestUserList(id, 0x02 + 0x04, false); if (!result.IsSuccess) { return(RedirectToErrorMessagePage(result.Description)); } usernames = result.ResultObject as String; } else if (String.Equals(form["enablerealname"], "2")) { usernames = form["usernames"]; } return(ResultToFile(ContestManager.AdminGetExportRanklist, id, usernames, id.ToString(), "xls")); }