예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        /*
         * 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);
        }