public async Task <IActionResult> EnrollByInstructor(long courseId, VMEnrollment request) { try { if (courseId == 0) { return(BadRequest(new GenericResult { Response = false, Message = "No course selected" })); } var output = _learnerRepository.EnrollByInstructor(courseId, request.sessionId, request); if (output > 0) { return(Ok(new GenericResult { Response = true, Message = "There are (" + output + ") learner enrolled already in course" })); } else { return(Ok(new GenericResult { Response = true, Message = "Learner successfully enrolled" })); } } catch (Exception e) { return(BadRequest(e)); } }
public int EnrollByInstructor(long courseId, long sessionId, VMEnrollment request) { var learnerIdList = new ArrayList(); int noExistingUsers = 0; var courseNewStatus = _context.Status.Where(x => x.category == "Course" && x.name == "New").FirstOrDefault(); if (request.Learner.Count() > 0) { foreach (Learner x in request.Learner) { var checkExists = _context.Learner.Where(i => i.courseId == courseId && i.userId == x.userId).FirstOrDefault(); if (checkExists == null) { Learner e = new Learner(); e.courseId = courseId; e.userId = x.userId; e.enrollmentType = 1; // instructor enrolled e.isNotify = x.isNotify; // instructor enrolled e.statusId = courseNewStatus.id; e.isApproved = 1; _context.Learner.Add(e); _context.SaveChanges(); learnerIdList.Add(e.id); if (request.isAutoEnroll != 0) { foreach (LearnerSession vme in request.LearnerSession) { LearnerSession ls = new LearnerSession(); ls.courseId = courseId; ls.learnerId = e.id; ls.sessionId = sessionId; ls.statusId = courseNewStatus.id; ls.dateScheduled = vme.dateScheduled; ls.createdAt = DateTime.Now; ls.updatedAt = DateTime.Now; _context.LearnerSession.Add(ls); _context.SaveChanges(); } } } else { noExistingUsers++; } } } return(noExistingUsers); }