Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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);
        }