private bool isLearnerAssessmentExceedLimit(LearnerCourseAssessment request)
        {
            var result = _context.CourseAssessment.Where(x => x.id == request.courseAssessmentId)
                         .Include(x => x.LearnerCourseAssessment)
                         .Select(i => new {
                attempts    = i.attempts,
                NoOfRecords = i.LearnerCourseAssessment
                              .Where(o => o.learnerId == request.learnerId && o.courseAssessmentItemId == request.courseAssessmentItemId)
                              .Count()
            })
                         .FirstOrDefault();

            if (result.attempts != 0)
            {
                if (result.NoOfRecords < result.attempts)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }
示例#2
0
        public IActionResult AddLearnerAssessment(LearnerCourseAssessment request)
        {
            try
            {
                RequiredFields model = new RequiredFields();
                model.LearnerCourseAssessment = request;
                object validateFields = _validationService.ValidateRequest("Learner Course Assessment", model);
                if (JsonConvert.SerializeObject(validateFields).Length > 2)
                {
                    return(BadRequest(validateFields));
                }


                var output = _learnerRepository.AddCourseAssessment(request);
                if (output == true)
                {
                    return(Ok(new GenericResult {
                        Response = true, Message = "you have successfully completed the questionnaires"
                    }));
                }
                else
                {
                    return(BadRequest(new GenericResult {
                        Response = false, Message = "You have reached the available maximum attempts"
                    }));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
        public bool AddCourseAssessment(LearnerCourseAssessment request)
        {
            var limit = isLearnerAssessmentExceedLimit(request);

            if (limit == false)
            {
                return(false);
            }
            else
            {
                request.dateTaken = DateTime.Now;
                _context.LearnerCourseAssessment.Add(request);
                _context.SaveChanges();

                return(true);
            }
        }