Beispiel #1
0
        public ActionResult EnrollInClass(EnrollInClassViewModel viewModel)
        {
            var user = (UserModel)Session["User"];

            if (ModelState.IsValid)
            {
                var enrolledClass = userClassManager.Add(user.Id, viewModel.SelectedClassId);
                var classes       = userClassManager.Classes(user.Id)
                                    .Select(t => new UserClassModel {
                    ClassId = t.ClassId, ClassName = t.ClassName, ClassDescription = t.ClassDescription, ClassPrice = t.ClassPrice
                })
                                    .ToArray();

                return(View("StudentClasses", classes));
            }
            else
            {
                var model = new EnrollInClassViewModel
                {
                    AvailableClasses = GetAvailableClasses(user.Id)
                };

                return(View(model));
            }
        }
        public ActionResult ClasstoEnroll(EnrollModel enrollModel)
        {
            var sessionuser = (Elearning.Website.Models.UserModel)Session["User"];
            var userid      = sessionuser.Id;
            var newclassid  = enrollModel.ClassId;

            userClassManager.Add(userid, newclassid);

            return(Redirect("~/Home/EnrolledClasses"));
        }
        public ActionResult Enroll(int classId)
        {
            var existingEnrolledClassIds = GetUserClasses().Select(t => t.ClassId);

            if (existingEnrolledClassIds.Contains(classId))
            {
                var existingClass = classViewModel.Class(classId);
                TempData["Message"] = $"You are already enrolled in {existingClass.ClassName}.";

                return(RedirectToAction("Classes"));
            }

            var user = JsonConvert.DeserializeObject <Models.User>(HttpContext.Session.GetString("User"));

            var userClass = userClassManager.Add(user.UserId, classId).ToWebModel();

            return(RedirectToAction("UserClasses"));
        }
Beispiel #4
0
        public ActionResult EnrollInClass(Models.EnrollInClassViewModel enrollInClassData)
        {
            if (ModelState.IsValid)
            {
                // insert new row into the database
                var user = (TheLearningCenter.Models.UserModel)Session["User"];

                var userClass = userClassManager.Add(user.Id, enrollInClassData.ClassId);

                // NOTE:  userClass may be null if the User is already enrolled ??


                //  the below is done in StudentClasses
                //var userClasses = userClassManager.GetAll(enrollInClassData.UserId)
                //    .Select(t => new TheLearningCenter.Models.UserClassModel(t.UserId, t.ClassId))
                //    .ToArray();

                //  Redirect
                //  Dan Instructor comments
                //  Post should almost always to a Redirect or RedirectToAction.
                //  Because after they add the record
                //  ...you should show them that the record was added
                //  ...and then move to the home page or someplace where they can continue working.
                return(RedirectToAction("StudentClasses"));
            }
            else
            {
                // enrollInClassData  is missing the list of classes at this point !

                // get all the classes to populate the drop down in the form
                var classes = classMasterManager.ClassMasters
                              .Select(t => new TheLearningCenter.Models.ClassMasterModel(t.Id,
                                                                                         t.Name,
                                                                                         t.Description,
                                                                                         t.Price,
                                                                                         t.Sessions))
                              .ToArray();

                enrollInClassData.ClassMasters = classes;

                return(View(enrollInClassData));
            }
        }