public async Task <IActionResult> Edit(int id, [Bind("Id,IsApproved,IsCompleted,StudentId,CourseId,ApprovedDate,DateCreated,UserCreated,DateModified,UserModified")] StCourseEnrollment stCourseEnrollment) { if (id != stCourseEnrollment.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(stCourseEnrollment); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StCourseEnrollmentExists(stCourseEnrollment.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["CourseId"] = new SelectList(_context.AdmCourses, "CourseId", "CourseId", stCourseEnrollment.CourseId); ViewData["StudentId"] = new SelectList(_context.Student, "StudentId", "StudentFirstName", stCourseEnrollment.StudentId); return(View(stCourseEnrollment)); }
public async Task <IActionResult> Create([Bind("Id,IsApproved,IsCompleted,StudentId,CourseId,ApprovedDate,DateCreated,UserCreated,DateModified,UserModified")] StCourseEnrollment stCourseEnrollment) { if (ModelState.IsValid) { _context.Add(stCourseEnrollment); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["CourseId"] = new SelectList(_context.AdmCourses, "CourseId", "CourseId", stCourseEnrollment.CourseId); ViewData["StudentId"] = new SelectList(_context.Student, "StudentId", "StudentFirstName", stCourseEnrollment.StudentId); return(View(stCourseEnrollment)); }
public async Task <JsonResult> CourseEnrollement([FromBody] StCourseEnrollment courseEnrollment) { courseEnrollment.EnrollmentDate = DateTime.UtcNow; var Enrollment = _context.StCourseEnrollment.Add(courseEnrollment); var couId = courseEnrollment.CourseId; var studentId = courseEnrollment.StudentId; var modulesIds = await _context.Modules.Include(c => c.Courses).Where(c => c.CourseId == couId).Select(c => c.ModuleId).ToListAsync(); foreach (var mId in modulesIds) { StudentModules studentModules = new StudentModules { ModuleId = mId, StudentId = studentId, StartTime = DateTime.UtcNow, }; var addedmodules = _context.StudentModules.Add(studentModules); var saveCounter = await _context.SaveChangesAsync(); var TopicIds = await _context.Topic.Include(c => c.Modules).Where(c => c.ModuleId == mId).Select(c => c.TopicId).ToListAsync(); foreach (var tId in TopicIds) { StudentTopic studentTopic = new StudentTopic { TopicId = tId, StudentId = studentId, StartTime = DateTime.UtcNow, }; var addedTopic = _context.StudentTopic.Add(studentTopic); var save = await _context.SaveChangesAsync(); } } var saveCount = await _context.SaveChangesAsync(); return(Json(courseEnrollment)); }
public async Task <IActionResult> Enroll(int Id) { var loggedInUserEmail = HttpContext.Session.GetString("currentUser"); if (loggedInUserEmail == null) { return(RedirectToAction("Login", "Account", new { s = "?", returnUrl = $"/Enrollment/Enroll/{Id}" })); } var studentEmail = await _context.Student.FirstOrDefaultAsync(c => c.StudentEmail == loggedInUserEmail); var cId = await _context.Courses.FirstOrDefaultAsync(c => c.CourseId == Id); var couId = cId.CourseId; var studentId = studentEmail.StudentId; var isExistEnrollment = await _context.StCourseEnrollment.FirstOrDefaultAsync(c => c.CourseId == couId && c.StudentId == studentId); if (isExistEnrollment == null) { StCourseEnrollment stCourse = new StCourseEnrollment { CourseId = couId, StudentId = studentId, EnrollmentDate = DateTime.UtcNow, }; var enrollment = _context.StCourseEnrollment.Add(stCourse); var savecount = await _context.SaveChangesAsync(); //retrieve all the modules for the course the user wants to enroll for. var modulesIds = await _context.Modules.Include(c => c.Courses).Where(c => c.CourseId == couId).Select(c => c.ModuleId).ToListAsync(); foreach (var mId in modulesIds) { StudentModules studentModules = new StudentModules { ModuleId = mId, StudentId = studentId, StartTime = DateTime.UtcNow, }; var addedmodules = _context.StudentModules.Add(studentModules); var saveCount = await _context.SaveChangesAsync(); var TopicIds = await _context.Topic.Include(c => c.Modules).Where(c => c.ModuleId == mId).Select(c => c.TopicId).ToListAsync(); foreach (var tId in TopicIds) { StudentTopic studentTopic = new StudentTopic { TopicId = tId, StudentId = studentId, StartTime = DateTime.UtcNow, }; var addedTopic = _context.StudentTopic.Add(studentTopic); var save = await _context.SaveChangesAsync(); } } return(RedirectToAction("Enrolled", new { cId = couId })); } return(RedirectToAction("Enrolled", new { cId = couId })); }