Пример #1
0
        public async Task <IActionResult> DeleteChapterFromFanfic([Required] string id)
        {
            if (ModelState.IsValid && User.Identity.IsAuthenticated)
            {
                ApplicationUser user = await _authenticationManager.UserManager.FindByNameAsync(User.Identity.Name);

                ChapterDTO chapter = await _chapterService.GetById(id);

                FanficDTO fanfic = await _fanficService.GetById(chapter.FanficId);

                if (fanfic == null)
                {
                    return(NotFound());
                }
                if (fanfic.ApplicationUserId == user.Id || await _authenticationManager.UserManager.IsInRoleAsync(user, "Admin"))
                {
                    await DeleteChapterRatings(id);

                    ChapterDTO deletedChapter = await _chapterService.Delete(id);

                    return(Ok(_mapper.Map <ChapterDTO, ChapterModel>(deletedChapter)));
                }
            }
            return(BadRequest(ModelState));
        }
        public IActionResult GetById(int id)
        {
            var chapter = _chapterService.GetById(id);
            var model   = _mapper.Map <ChapterModel>(chapter);

            return(Ok(model));
        }
Пример #3
0
        public IActionResult Create(int ID, int CourseId)
        {
            var vm = new ChapterVM();

            if (ID != 0)
            {
                var model = _chapterService.GetById(ID);
                if (model == null)
                {
                    return(NotFound());
                }
                vm = _mapper.Map <ChapterVM>(model);
            }
            else
            {
                var numChapter = _chapterService.CountCondition(m => m.CourseId == CourseId);
                vm.OrderChapter = ++numChapter;
                vm.CourseId     = CourseId;
            }
            return(View(vm));
        }
Пример #4
0
        public IHttpActionResult AddUserInfoAnswerRecord(AddUserInfoAnswerRecordDto addUserInfoAnswerRecordDto)
        {
            var    belong  = belongService.GetById(addUserInfoAnswerRecordDto.BelongId);
            var    chapter = chapterService.GetById(addUserInfoAnswerRecordDto.ChapterId);
            string title   = (belong != null ? belong.Title : "") + "-" + (chapter != null ? chapter.Title : "");
            var    userInfoAnswerRecord = userInfoAnswerRecordService.GetById(addUserInfoAnswerRecordDto.UserInfoAnswerRecordId);

            if (userInfoAnswerRecord == null)
            {
                userInfoAnswerRecord = new UserInfoAnswerRecord();
                userInfoAnswerRecord = userInfoAnswerRecordService.Insert(new Domain.Model.UserInfoAnswerRecord
                {
                    BelongId   = addUserInfoAnswerRecordDto.BelongId,
                    ChapterId  = addUserInfoAnswerRecordDto.ChapterId,
                    Score      = 0,
                    CTime      = DateTime.Now,
                    UTime      = DateTime.Now,
                    UserInfoId = addUserInfoAnswerRecordDto.UserInfoId,
                    Title      = title
                });
            }
            var problemlist = problemService.GetProblemList(addUserInfoAnswerRecordDto.BelongId, addUserInfoAnswerRecordDto.ChapterId, addUserInfoAnswerRecordDto.SubjectInfoId);

            foreach (var item in addUserInfoAnswerRecordDto.AddProblemRecordDto)
            {
                var problem = (from a in problemlist
                               where a.ProblemId == item.ProblemId
                               select a).FirstOrDefault();

                if (problem != null)
                {
                    int ErrorAnswer = item.ProblemId;
                    if (problem.ProblemId == item.ProblemId)
                    {
                        ErrorAnswer = problem.ProblemId;
                    }
                    var answer = (from b in problem.AnswerList
                                  where b.IsCorrect == 1
                                  select b).ToList();

                    string CorrectAnswer = string.Empty;
                    foreach (var a in answer)
                    {
                        CorrectAnswer += a.AnswerId + ",";
                    }
                    if (CorrectAnswer.Length > 0)
                    {
                        CorrectAnswer = CorrectAnswer.Substring(0, CorrectAnswer.Length - 1);
                    }
                    var problemRecord = problemRecordService.Insert(new Domain.Model.ProblemRecord
                    {
                        CTime                  = DateTime.Now,
                        UTime                  = DateTime.Now,
                        Title                  = problem.Title,
                        CorrectAnswer          = CorrectAnswer,
                        ErrorAnswer            = item.AnswerIds,
                        ProblemCategoryId      = problem.ProblemCategoryId,
                        ProblemId              = item.ProblemId,
                        UserInfoAnswerRecordId = userInfoAnswerRecord.UserInfoAnswerRecordId,
                        Analysis               = problem.Analysis,
                        YesOrNo                = item.YesOrNo,
                        UserInfoId             = addUserInfoAnswerRecordDto.UserInfoId
                    });

                    foreach (var itemChild in problem.AnswerList)
                    {
                        answerRecordService.Insert(new Domain.Model.AnswerRecord
                        {
                            AnswerId        = itemChild.AnswerId,
                            ProblemId       = problem.ProblemId,
                            IsCorrect       = itemChild.IsCorrect,
                            ProblemRecordId = problemRecord.ProblemRecordId,
                            Title           = itemChild.Title
                        });
                    }
                }
            }
            return(Json(new { Success = true, Msg = "OK", Data = "" }));
        }
Пример #5
0
 public IActionResult GetById(int id)
 {
     return(new OkObjectResult(_chapterService.GetById(id)));
 }
Пример #6
0
 /// <summary>
 /// 编辑
 /// </summary>
 /// <param name="_ChapterVM"></param>
 /// <returns></returns>
 public ActionResult Edit(ChapterVM _ChapterVM)
 {
     _ChapterVM.Chapter = _ChapterService.GetById(_ChapterVM.Id) ?? new Chapter();
     return(View(_ChapterVM));
 }