public ExamRecordInfo AddRecord(ExamRecordInfo recordInfo) { try { DbModel.ExamRecordInfo saveInfo = new DbModel.ExamRecordInfo(); saveInfo.ExamPaperId = recordInfo.ExamPaperId; saveInfo.ExamScore = recordInfo.ExamScore; saveInfo.IsPassed = recordInfo.IsPassed; saveInfo.LeftTime = recordInfo.LeftTime; saveInfo.CreateUserId = recordInfo.CreateUser == null ? _loginUser.Id : recordInfo.CreateUser.Id; saveInfo.CreateDate = DateTime.Now; saveInfo.BeginTime = recordInfo.BeginTime; saveInfo = _recordRepository.Create(saveInfo); recordInfo.Id = saveInfo.Id; recordInfo.CreateDate = saveInfo.CreateDate; recordInfo.CreateUserId = saveInfo.CreateUserId; recordInfo.ExamPaper = _examPaperApp.Load(saveInfo.ExamPaperId); foreach (ExamQuestionRecordInfo questionRecord in recordInfo.QuestionRecords) { AddQuestionRecord(recordInfo.Id, questionRecord); } } catch (Exception ex) { _log.LogError(ex, nameof(AddRecord)); throw; } return(recordInfo); }
private DateTime GeneralUseTime(ExamSubmitInfo submitInfo) { string leftTime = submitInfo.leftTime.Replace(':', '.'); double time1 = StringUtil.GetDouble(leftTime); ExamPaperInfo examPaper = _examPaperApp.Load(submitInfo.examId); double time2 = StringUtil.GetDouble(string.Format("{0}.60", examPaper.ExamMinute - 1)) - time1; string[] lt = time2.ToString("N2").Split('.'); return(DateTime.Now.AddMinutes(StringUtil.GetInt(lt[0]) * -1).AddSeconds(StringUtil.GetInt(lt[1]) * -1)); }
public IActionResult Exam(int paperId) { ExamPaperInfo examPaper = _examPaperApp.Load(paperId); RandomUtil.CanRepeat = true; RandomUtil.RandomCount = (uint)examPaper.QuestionRank; examPaper.Questions = RandomUtil.Draw(examPaper.Questions.ToList()); return(View(examPaper)); }
public IActionResult Edit(int id) { EditExamPaperInfo paperInfo = _examPaperApp.Load(id); return(View(paperInfo)); }