public ViewResult EnrollInCourse(CourseEnrollment courseEnrollment) { CourseEnrollmentViewModel viewModel = new CourseEnrollmentViewModel { Students = StudentGateway.GetStudents() }; if (!ModelState.IsValid) { viewModel.CourseEnrollment = courseEnrollment; ViewBag.Message = "Saved"; return(View(viewModel)); } int rowAffected = StudentGateway.Enroll(courseEnrollment); if (rowAffected > 0) { ViewBag.Message = "Saved"; } else { ViewBag.Message = "Error"; } return(View(viewModel)); }
public async Task <ActionResult> CourseEnrollment(CourseEnrollmentViewModel model) { if (ModelState.IsValid) { var identity = (ClaimsIdentity)User.Identity; int sid = int.Parse(identity.Claims.Where(x => x.Type == ClaimTypes.Sid).Select(x => x.Value).First()); EnrolledClass myClass = new EnrolledClass { CourseId = int.Parse(model.CourseId), StudentId = sid }; var res = await _userService.AddClassAsync(myClass); if (res > 0) { return(Json(true)); //return View(model); //return RedirectToAction("Index", "Home"); } //NOTA questo funziona solo se NON è ajax!!! //else //{ // TempData["MessageToClient"] = "Course not enrolled. Please retry in 5 minutes or contact the administrator."; // ModelState.AddModelError("", "Course not enrolled. Please retry in 5 minutes or contact the administrator."); //} } // If we got this far, something failed, redisplay form //return View(model); return(Json(false)); }
/* * Course Enrollment */ public ViewResult EnrollInCourse() { CourseEnrollmentViewModel viewModel = new CourseEnrollmentViewModel { Students = StudentGateway.GetStudents() }; return(View(viewModel)); }
public async Task CourseEnrollment_PostValidData_ReturnOK() { // Arrange _userService.AddClassAsync(Arg.Any <EnrolledClass>()).Returns(1); var sut = new HomeController(_userService, _log); var identity = Substitute.For <ClaimsIdentity>(); identity.Claims.Returns(new List <Claim> { new Claim(ClaimTypes.Sid, "1") }); var userMock = Substitute.For <IPrincipal>(); userMock.Identity.Returns(identity); //var contextMock = Substitute.For<HttpContextBase>(); //contextMock.User.Returns(userMock); var webCtx = Substitute.For <ControllerContext>(); webCtx.HttpContext.User.Returns(userMock); webCtx.HttpContext.Request.IsAuthenticated.Returns(true); sut.ControllerContext = webCtx; var model = new CourseEnrollmentViewModel { CourseId = "1", UserId = "1" }; // Act var result = await sut.CourseEnrollment(model) as JsonResult; // Assert await _userService.Received(1).AddClassAsync(Arg.Any <EnrolledClass>()); Assert.IsNotNull(result); Assert.IsTrue((bool)result.Data); }
public IEnumerable <CourseEnrollmentViewModel> GetCourseEnrollments(int UserId, int CourseId) { List <CourseEnrollmentViewModel> courseLst = new List <CourseEnrollmentViewModel>(); //List<CourseEnrollment> courseLst = new List<CourseEnrollment>(); DigitalBoardMarkerContext db = new DigitalBoardMarkerContext(); if (db.Users.Where(b => b.Id == UserId).FirstOrDefault().Designation == "Teacher") { foreach (CourseEnrollment e in db.CourseEnrollment) { if (e.CourseId == CourseId && (e.EnrollmentStatus == "Pending")) { CourseEnrollmentViewModel c = new CourseEnrollmentViewModel(); c.Email = db.Users.Where(b => b.Id == e.UserId).FirstOrDefault().Email; c.UserId = e.UserId; c.UserName = db.Users.Where(b => b.Id == e.UserId).FirstOrDefault().FirstName + " " + db.Users.Where(b => b.Id == e.UserId).FirstOrDefault().LastName; courseLst.Add(c); } } } return(courseLst); }