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); } }
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); } }