Ejemplo n.º 1
0
        private ICollection <ExamQuestionRecordInfo> GetQuestionRecord(List <ExamDetailSubmitInfo> details)
        {
            List <ExamQuestionRecordInfo> questionRecords = new List <ExamQuestionRecordInfo>();

            foreach (ExamDetailSubmitInfo detail in details)
            {
                ExamQuestionRecordInfo recordInfo = new ExamQuestionRecordInfo();
                recordInfo.QuestionId    = detail.questionId;
                recordInfo.QuestionScore = GeneralSolutionScore(detail);
                recordInfo.CreateUser    = _loginUser;
                questionRecords.Add(recordInfo);
                recordInfo.SolutionRecords = GetSolutionRecord(detail);
            }
            return(questionRecords);
        }
Ejemplo n.º 2
0
        public IQueryable <ExamQuestionRecordInfo> QueryRecordQuestion(int recordId, Expression <Func <DbModel.ExamRecordQuestionDetailInfo, bool> > expression)
        {
            IQueryable <DbModel.ExamRecordQuestionDetailInfo> questionRecords = _questionRecordRepository.All().AsQueryable();

            if (recordId > 0)
            {
                questionRecords = questionRecords.Where(p => p.RecordId.Equals(recordId));
            }
            if (expression != null)
            {
                questionRecords = questionRecords.Where(expression);
            }
            List <ExamQuestionRecordInfo> results = new List <ExamQuestionRecordInfo>();

            foreach (DbModel.ExamRecordQuestionDetailInfo record in questionRecords)
            {
                ExamQuestionRecordInfo result = new ExamQuestionRecordInfo();
                result.Id            = record.Id;
                result.RecordId      = record.RecordId;
                result.QuestionId    = record.QuestionId;
                result.QuestionScore = record.QuestionScore;
                result.CreateUserId  = record.CreateUserId;
                result.CreateDate    = record.CreateDate;
                results.Add(result);
            }
            foreach (ExamQuestionRecordInfo record in results)
            {
                record.CreateUser      = _userApp.Load(record.CreateUserId.ToString());
                record.Question        = _questionApp.Load(record.QuestionId);
                record.SolutionRecords = QueryRecordSolution(record.RecordId, record.Id).ToList();
                foreach (ExamSolutionRecordInfo solutionRecord in record.SolutionRecords)
                {
                    solutionRecord.QuestionRecord = record;
                }
            }
            return(results.AsQueryable());
        }
Ejemplo n.º 3
0
 public ExamQuestionRecordInfo AddQuestionRecord(int recordId, ExamQuestionRecordInfo recordInfo)
 {
     try
     {
         DbModel.ExamRecordQuestionDetailInfo saveInfo = new DbModel.ExamRecordQuestionDetailInfo();
         saveInfo.RecordId      = recordId;
         saveInfo.QuestionId    = recordInfo.QuestionId;
         saveInfo.QuestionScore = recordInfo.QuestionScore;
         saveInfo.CreateUserId  = recordInfo.CreateUser == null ? _loginUser.Id : recordInfo.CreateUser.Id;
         saveInfo.CreateDate    = DateTime.Now;
         saveInfo      = _questionRecordRepository.Create(saveInfo);
         recordInfo.Id = saveInfo.Id;
         foreach (ExamSolutionRecordInfo item in recordInfo.SolutionRecords)
         {
             AddSolutionRecord(recordId, recordInfo.Id, item);
         }
     }
     catch (Exception ex)
     {
         _log.LogError(ex, nameof(AddQuestionRecord));
         throw;
     }
     return(recordInfo);
 }