예제 #1
0
        public ActionResult Edit(ContestDetailModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            // 验证数据模型。
            if (!ValidateContestDetailModel(model))
            {
                return(View(model));
            }

            // 执行用户身份验证。
            ContestHandle handle = new ContestHandle(model.ContestId);

            using (ContestDataProvider data = ContestDataProvider.Create(handle, true))
            {
                if (!UserSession.IsAuthorized(Session) ||
                    string.Compare(data.Creator, UserSession.GetUsername(Session), false) != 0)
                {
                    return(Redirect("~/Error/AccessDenied"));
                }
            }

            model.SaveTo(handle);
            return(Redirect($"~/Contest/Show?id={model.ContestId}"));
        }
예제 #2
0
        public ActionResult Add(ContestDetailModel model)
        {
            // 执行用户身份验证。
            if (!UserSession.IsAuthorized(Session) || !UserAuthorization.CheckAccessRights(UserGroup.Insiders,
                                                                                           UserSession.GetUserGroup(Session)))
            {
                return(Redirect("~/Error/AccessDenied"));
            }

            // 验证数据模型。
            if (!ValidateContestDetailModel(model))
            {
                return(View(model));
            }

            // 创建比赛。
            ContestHandle handle = ContestManager.Default.CreateContest();

            model.SaveTo(handle);

            return(Redirect("~/Contest"));
        }