public ActionResult SignIn(SignInViewModel signInViewModel) { try { if (ModelState.IsValid) { // Checks if valid user IEnumerable <Account> accounts = _accountRepo.GetAccountsByUsername(signInViewModel.Username); Account matchingAccount = accounts.FirstOrDefault(); if (accounts.Count() != 0 && signInViewModel.Passphrase == matchingAccount.Passphrase) { if (signInViewModel.Username == "admin") { CurrentUser.isAdmin = true; } else { CurrentUser.isAdmin = false; } CurrentUser.Id = matchingAccount.Id; CurrentUser.Username = matchingAccount.Username; CurrentUser.Passphrase = matchingAccount.Passphrase; CurrentUser.FirstName = matchingAccount.FirstName; CurrentUser.LastName = matchingAccount.LastName; if (CurrentUser.isAdmin) { return(RedirectToRoute(new { controller = "Menu", action = "AdminMenu", id = CurrentUser.Id })); } else { return(RedirectToRoute(new { controller = "Menu", action = "UserMenu", id = CurrentUser.Id })); } } else { return(RedirectToAction(nameof(AccountDoesNotExist))); } } return(View(signInViewModel)); } catch { return(View()); } }