コード例 #1
0
        public ActionResult Create()
        {
            SetQuestionRoutes();

            var model = new QuestionGroupEditModel();

            return(View(model));
        }
コード例 #2
0
ファイル: QuestionGroupManager.cs プロジェクト: sdcb/sdoj
        private async Task CreateQuestionGroup(QuestionGroupEditModel toSave)
        {
            var questionGroup = Mapper.Map <QuestionGroup>(toSave);

            var items = toSave.Questions.Select(x => Mapper.Map <QuestionGroupItem>(x)).ToList();

            _db.QuestionGroups.Add(questionGroup);
            await _db.SaveChangesAsync();
        }
コード例 #3
0
ファイル: QuestionGroupManager.cs プロジェクト: sdcb/sdoj
 public async Task Create(QuestionGroupEditModel toSave)
 {
     if (toSave.Id == 0)
     {
         await CreateQuestionGroup(toSave);
     }
     else
     {
         await ModifyQuestionGroup(toSave);
     }
 }
コード例 #4
0
        public async Task <ActionResult> Create(QuestionGroupEditModel questionGroup)
        {
            if (ModelState.IsValid)
            {
                await _manager.Create(questionGroup);

                return(this.JavascriptRedirectToAction("Index"));
            }

            return(View(questionGroup));
        }
コード例 #5
0
ファイル: QuestionGroupManager.cs プロジェクト: sdcb/sdoj
        public async Task Save(QuestionGroupEditModel questionGroup)
        {
            using (var tran = TransactionInRequest.BeginTransaction())
            {
                var entity = Mapper.Map <QuestionGroup>(questionGroup);
                await _db.QuestionGroupItems.Where(x => x.QuestionGroupId == entity.Id).DeleteAsync();

                _db.Entry(entity).State = EntityState.Modified;

                foreach (var item in entity.Questions)
                {
                    _db.Entry(item).State = EntityState.Added;
                }
                await _db.SaveChangesAsync();

                tran.Complete();
            }
        }
コード例 #6
0
        public async Task <ActionResult> Edit(QuestionGroupEditModel questionGroup)
        {
            if (ModelState.IsValid)
            {
                var owner = await _db.QuestionGroups
                            .Where(x => x.Id == questionGroup.Id)
                            .Select(x => x.CreateUserId)
                            .FirstOrDefaultAsync();

                if (!User.IsUserOrRole(owner, SystemRoles.QuestionGroupAdmin))
                {
                    return(this.JavascriptRedirectToAction("Index").WithJavascriptAlert("只有作者才能修改此题目组。"));
                }

                await _manager.Save(questionGroup);

                return(Json(true));
            }
            return(View("Create", questionGroup));
        }
コード例 #7
0
ファイル: QuestionGroupManager.cs プロジェクト: sdcb/sdoj
 private Task ModifyQuestionGroup(QuestionGroupEditModel toSave)
 {
     throw new NotImplementedException();
 }