public ActionResult EnrollUser(EnrollmentModel model) { if ((model.StartDate != null) && (model.EndDate != null) && (model.StartDate.Value.CompareTo(model.EndDate) > 0)) { ModelState.AddModelError("EndDate", "Start date must preceed end date."); return View("Index", model); } var course = this.Data.Courses.GetById(model.CourseId); var user = this.Data.Users.All().FirstOrDefault(u => u.Id == model.Id); var courseInstance = new CourseInstance() { User = user, Course = course, Mark = null, StartDate = model.StartDate, EndDate = model.EndDate }; this.Data.CourseInstances.Add(courseInstance); this.Data.SaveChanges(); model.Message = "User enrolled"; return View("Index", model); }
public ActionResult GetUserList(int id) { //var course = this.Data.Courses.All(new string[] { "Users", "Certificates" }).FirstOrDefault(c => c.Id == id); /*var course = from user in this.Data.Users.All() from courseInstance in user.Courses select new { Username = user.UserName, courseInstance = courseInstance.Course.Title }; var zd = course.ToList();*/ var courseInstances = this.Data.Courses.All(new string[] { "CourseInstances", "CourseInstances.User" }).FirstOrDefault(c => c.Id == id).CourseInstances; var enrolledUsers = new List<string>(); foreach (var course in courseInstances) { if (course.IsActive) { enrolledUsers.Add(course.User.Id); } } var eligibleUsers = Data.Users.All().ToList(); eligibleUsers = eligibleUsers.Where(u => !enrolledUsers.Contains(u.Id)).ToList(); if (eligibleUsers == null) { return View("Error"); } var userList = new List<UserEnrollModel>(); foreach (var user in eligibleUsers) { userList.Add(new UserEnrollModel() { Id = user.Id, Username = user.UserName }); } var model = new EnrollmentModel(); model.CourseId = id; model.Users = userList; model.Id = ""; /*var context = new DataContext(); var eligibleUsers = context.Users.ToList();*/ return PartialView("_UserEnrollment", model); }