public ActionResult UserDetails(UserDetailsVM model)
        {
            if (model.AllRoles.First(r => r.RoleName == "Student").IsChecked && !model.GradeLevelId.HasValue)
            {
                ModelState.AddModelError("Gradeless", "Students must have a grade level.");
            }

            if (!ModelState.IsValid)
            {
                var r = _lmsUserManager.GetUserDetailsById(model.UserId);
                model.PopulateVM(r.GradeLevels, r.UserRoles, r.User);
                return View(model);
            }

            var editUserRequest = new EditUserRequest();
            editUserRequest.LmsUser = new LmsUser()
            {
                UserId = model.UserId,
                Email = model.UserName,
                FirstName = model.FirstName,
                LastName = model.LastName,
                GradeLevelId = model.GradeLevelId,
                SuggestedRole = model.SuggestedRole
            };
            editUserRequest.IsStudent = model.AllRoles.First(x => x.RoleName == "Student").IsChecked;
            editUserRequest.IsParent = model.AllRoles.First(x => x.RoleName == "Parent").IsChecked;
            editUserRequest.IsTeacher = model.AllRoles.First(x => x.RoleName == "Teacher").IsChecked;
            editUserRequest.IsAdmin = model.AllRoles.First(x => x.RoleName == "Admin").IsChecked;

            var response = _lmsUserManager.EditUser(editUserRequest);

            if (response.Success)
            {
                return RedirectToAction("Index");
            }
            else
            {
                ViewBag.ErrorMsg = response.Message;
                return View("Error");
            }
        }
        public ActionResult UserDetails(int id)
        {
            var response = _lmsUserManager.GetUserDetailsById(id);

            if (response.Success)
            {
                var vm = new UserDetailsVM();
                vm.PopulateVM(response.GradeLevels, response.UserRoles, response.User);
                return View(vm);
            }
            else
            {
                ViewBag.ErrorMsg = response.Message;
                return View("Error");
            }
        }