public async Task <HttpResponseMessage> PostAnswerSheet(AssessmentResultModel assessmentResultModel) { try { AssessmentResultEntity assessmentResultEntity = new AssessmentResultEntity(); assessmentResultEntity.UserId = assessmentResultModel.UserId; assessmentResultEntity.AssessmentId = assessmentResultModel.AssessmentId; assessmentResultEntity.QuestionPaperId = assessmentResultModel.QuestionPaperId; assessmentResultEntity.TotalQuestionsCount = assessmentResultModel.TotalQuestionsCount; assessmentResultEntity.RightAnsweredCount = assessmentResultModel.RightAnsweredCount; assessmentResultEntity.IsWriteAssessmentLater = assessmentResultModel.IsWriteAssessmentLater; List <QuestionEntity> listQuestionPaperEntity = new List <QuestionEntity>(); foreach (var questionModel in assessmentResultModel.QuestionPaper) { QuestionEntity questionPaperEntity = new QuestionEntity(); questionPaperEntity.ID = questionModel.ID; questionPaperEntity.Number = questionModel.Number; questionPaperEntity.OptionType = questionModel.OptionType; questionPaperEntity.Options = new List <OptionsEntity>(); questionPaperEntity.SelectedOptionId = questionModel.SelectedOptionId; questionPaperEntity.WrittenAnswer = questionModel.WrittenAnswer; foreach (var optionModel in questionModel.Options) { OptionsEntity optionEntity = new OptionsEntity(); optionEntity.ID = optionModel.ID; optionEntity.OptionText = optionModel.OptionText; questionPaperEntity.Options.Add(optionEntity); } questionPaperEntity.QuestionText = questionModel.QuestionText; questionPaperEntity.RightOptionId = questionModel.RightOptionId; listQuestionPaperEntity.Add(questionPaperEntity); } assessmentResultEntity.AnsweredSheet = listQuestionPaperEntity; BusinessFactory.CreateQuestionPaperBusinessInstance().SaveAssessmentResultAndAnsweredSheet(assessmentResultEntity); return(Request.CreateResponse(HttpStatusCode.OK)); } catch (System.Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }
private AssessmentResultModel Result(int studentUsi, int?sessionId, int dayFrom = 1, int dayTo = 7) { var assessmentResultModel = new AssessmentResultModel(); if (sessionId != null) { var session = _genericRepository.Get <Session>(s => s.SessionIdentity == sessionId); var startDate = session.BeginDate.AddDays(dayFrom - 1); var endDate = session.BeginDate.AddDays(dayTo - 1); var studentAssessments = _assessmentRepository.GetAssessmentResults(studentUsi, startDate, endDate); assessmentResultModel = _studentAssessmentsToAssessmentResultModelMapper.Map(studentAssessments, startDate, endDate); assessmentResultModel.Session = session.SessionName; } var student = _genericRepository.Get <Student>(s => s.StudentUSI == studentUsi); var profilePhotoUrl = _profilePhotoUrlFetcher.GetProfilePhotoUrlOrDefault(student); assessmentResultModel.Update(student, profilePhotoUrl, sessionId, dayFrom, dayTo); return(assessmentResultModel); }