Example #1
0
        public ActionResult Index()
        {
            if (User.Identity.IsAuthenticated)
            {
                if (User.IsInRole("Teacher"))
                {
                    return(RedirectToAction("Index", "Teacher"));
                }
                if (User.IsInRole("Student"))
                {
                    return(RedirectToAction("Index", "Student"));
                }
                if (User.IsInRole("Parent"))
                {
                    return(RedirectToAction("Index", "Parent"));
                }
                if (User.IsInRole("Admin"))
                {
                    return(RedirectToAction("Index", "Admin"));
                }

                return(RedirectToAction("NotApprovedYet", "Home"));
            }

            var gradeLevelRepo = new SqlLMSGradeLevelRepository();
            var model          = new LoginRegistrationVM();

            model.RegisterViewModel.CreateGradeLevel(gradeLevelRepo.GradeLevelGetAll());
            model.RegisterViewModel.PopulateSelectListItems(gradeLevelRepo.GradeLevelGetAll());//Added 6/28--Lis

            return(View(model));
        }
Example #2
0
        public async Task <ActionResult> Login(LoginViewModel LoginViewModel, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                var originalModel = new LoginRegistrationVM();
                originalModel.LoginViewModel = LoginViewModel;
                return(View("~/View/Home/Index.cshtml", originalModel));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(LoginViewModel.Email, LoginViewModel.Password, LoginViewModel.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                var aspNetUser = UserManager.FindByName(LoginViewModel.Email);
                if (UserManager.IsInRole(aspNetUser.Id, "Admin"))
                {
                    return(RedirectToAction("Index", "Admin"));
                }
                if (UserManager.IsInRole(aspNetUser.Id, "Teacher"))
                {
                    return(RedirectToAction("Index", "Teacher"));
                }
                if (UserManager.IsInRole(aspNetUser.Id, "Student"))
                {
                    return(RedirectToAction("Index", "Student"));
                }
                if (UserManager.IsInRole(aspNetUser.Id, "Parent"))
                {
                    return(RedirectToAction("Index", "Parent"));
                }

                return(RedirectToAction("NotApprovedYet", "Home"));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = LoginViewModel.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                var originalModel = new LoginRegistrationVM();
                originalModel.LoginViewModel = LoginViewModel;
                return(View("~/View/Home/Index.cshtml", originalModel));
            }
        }