Пример #1
0
        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());
            }
        }