public ActionResult Submit(string id, string contest, ProblemSubmitModel model) { if (!ModelState.IsValid) return View(model); Guid recordID; try { Problem problem = Contest.ByName(contest).ProblemByName(id); recordID = problem.Submit(new Record { Code = model.Code, Language = (Record.LanguageType)model.Language }); } catch (ContestNotFoundException) { return RedirectToAction("Error", "Shared", new { msg = "比赛不存在" }); } catch (ContestNotStartedException) { return RedirectToAction("Error", "Shared", new { msg = "比赛尚未开始,不能提交代码" }); } catch (NotAttendedContestException) { return RedirectToAction("Error", "Shared", new { msg = "没有报名比赛,不能提交代码" }); } catch (UserNotLoginException) { throw; } catch (ProblemNotFoundException) { return RedirectToAction("Error", "Shared", new { msg = "题目不存在" }); } catch (ProblemLockedException) { return RedirectToAction("Error", "Shared", new { msg = "题目被锁定,无法提交代码" }); } return RedirectToAction("Show", "Record", new { id = recordID }); }
public ActionResult Submit(string id, string contest) { ProblemSubmitModel model = new ProblemSubmitModel(); model.Problem = id; model.Contest = contest; model.Language = USER.CurrentUserPreferLanguage ?? Record.LanguageType.CPP; Problem problem; try { problem = Contest.ByName(contest).ProblemByName(id); } catch (ContestNotFoundException) { return RedirectToAction("Error", "Shared", new { msg = "比赛不存在" }); } catch (ProblemNotFoundException) { return RedirectToAction("Error", "Shared", new { msg = "题目不存在" }); } return View(model); }