// GET: Archieve/Environment?id={ProblemID} public ActionResult Environment() { // 检查用户权限。 if (!UserSession.IsAuthorized(Session) || !UserAuthorization.CheckAccessRights(UserGroup.Administrators, UserSession.GetUserGroup(Session))) { return(Redirect("~/Error/AccessDenied")); } if (string.IsNullOrEmpty(Request.QueryString["id"])) { return(Redirect("~/Archieve")); } ProblemHandle handle = ProblemArchieveManager.Default.GetProblemById(Request.QueryString["id"]); if (handle == null) { return(Redirect("~/Error/ProblemNotExist")); } ProblemEnvironmentModel model = ProblemEnvironmentModel.FromProblemHandle(handle); return(View(model)); }
public ActionResult Environment(ProblemEnvironmentModel model) { // 检查操作权限。 if (!UserSession.IsAuthorized(Session) || !UserAuthorization.CheckAccessRights(UserGroup.Administrators, UserSession.GetUserGroup(Session))) { return(Redirect("~/Error/AccessDenied")); } if (!TryValidateModel(model)) { if (ModelState["TimeLimit"] != null && ModelState["TimeLimit"].Errors.Count > 0) { ViewBag.TimeLimitErrorMessage = ModelState["TimeLimit"].Errors[0].ErrorMessage; } if (ModelState["MemoryLimit"] != null && ModelState["MemoryLimit"].Errors.Count > 0) { ViewBag.MemoryLimitErrorMessage = ModelState["MemoryLimit"].Errors[0].ErrorMessage; } return(View(model)); } if (string.IsNullOrEmpty(Request.Form["ProblemId"])) { return(Redirect("~/Archieve")); } // 更新数据库数据。 ProblemHandle handle = ProblemArchieveManager.Default.GetProblemById(model.ProblemId); if (handle == null) { return(Redirect("~/Error/ProblemNotExist")); } using (ProblemDataProvider data = ProblemDataProvider.Create(handle, false)) { data.TimeLimit = model.TimeLimit; data.MemoryLimit = model.MemoryLimit; data.IsSpecialJudge = model.UseSpecialJudge; } return(Redirect(string.Format("~/Archieve/ShowProblem?id={0}", model.ProblemId))); }