Pārlūkot izejas kodu

Fix admin login

jimmy.jiang@vinno.com 8 mēneši atpakaļ
vecāks
revīzija
b7e1725208
1 mainītis faili ar 38 papildinājumiem un 0 dzēšanām
  1. 38 0
      Client/PC/vStation/ViewModel/LoginViewModel.cs

+ 38 - 0
Client/PC/vStation/ViewModel/LoginViewModel.cs

@@ -262,6 +262,44 @@ namespace vStation.ViewModel
                     if (result == "success") //登录成功
                     {
                         loginSuccess = true;
+                        var state = _loginService.Login(Account, Password, IsRememberAccount);
+                        switch (state)
+                        {
+                            case LoginResult.LoginSuccess:
+                                loginSuccess = true;
+                                break;
+                            case LoginResult.PasswordNotReset:
+                                var resetPassword = new Presentation.Users.ResetPasswordWindow(Account);
+                                resetPassword.ShowDialog();
+                                var resetPasswordViewModel = resetPassword.DataContext as ResetPasswordViewModel;
+                                if (resetPasswordViewModel.ResetSuccess)
+                                {
+                                    //修改密码后 重新登录
+                                    state = _loginService.Login(Account, resetPasswordViewModel.NewPassword, IsRememberAccount);
+                                    if (state == LoginResult.LoginSuccess)
+                                    {
+                                        loginSuccess = true;
+                                        StartSlaveWindow();
+                                    }
+                                }
+                                else
+                                {
+                                    UpdateErrorInfo("UserUninitialized");
+                                }
+                                break;
+                            case LoginResult.UserNotExist:
+                                UpdateErrorInfo("UserNotExist");
+                                break;
+                            case LoginResult.InvalidPassowrd:
+                                UpdateErrorInfo("InvalidPassowrd");
+                                break;
+                            case LoginResult.Locked:
+                                UpdateErrorInfo("AccountLockedDueToInvalidPassword");
+                                break;
+                            default:
+                                UpdateErrorInfo("UnameOrPwdWrong");
+                                break;
+                        }
                     }
                     else if (result == "NoFoundDongle")
                     {