Exemplo n.º 1
0
        public ViewChangePassword(IUserBll userBll,
                                  ILoginCfgBll loginCfgBll, IGlobalApplicationData globalApplicationData)
        {
            InitializeComponent();
            _userBll               = userBll;
            _loginCfgBll           = loginCfgBll;
            _globalApplicationData = globalApplicationData;
            sbtnOk.Click          += sbtnOk_Click;

            RemoveErrorOnControlFocused(stbOldPassword, stbOldPassword.SkinTxt, errorProvider);
            RemoveErrorOnControlFocused(stbNewPassword, stbNewPassword.SkinTxt, errorProvider);
            RemoveErrorOnControlFocused(stbConfirmNewPassword, stbConfirmNewPassword.SkinTxt, errorProvider);
        }
Exemplo n.º 2
0
        public ViewLogin(ILoginCfgBll loginCfgBll,
                         IUserBll userBll, IViewFactory viewFactory, IUpdateInfoBll updateInfoBll,
                         IOfflineCheckManager offlineCheckManager, IGlobalApplicationData globalApplicationData)
        {
            InitializeComponent();
            InitUI();
            InitEvents();

            _loginCfgBll           = loginCfgBll;
            _userBll               = userBll;
            _viewFactory           = viewFactory;
            _updateInfoBll         = updateInfoBll;
            _offlineCheckManager   = offlineCheckManager;
            _globalApplicationData = globalApplicationData;
            _loginResponse         = state =>
            {
                string info = string.Empty;

                switch (state)
                {
                case LoginState.Failed:
                    info = "服务器异常,登录失败!";
                    break;

                case LoginState.InvalidAccountOrPassword:
                    LoginCfg = null;
                    info     = "用户名或密码错误!";
                    break;

                case LoginState.LoggedIn:
                    info = "该用户帐号已经登录。";
                    break;

                case LoginState.Expired:
                    info = "该用户帐号已过期,不能登录。";
                    break;

                case LoginState.Locked:
                    info = "该用户帐号已被锁定,请联系管理员进行解锁!";
                    break;

                case LoginState.HangUpTimeNotEnough:
                    info = "挂机端挂机时间不足,不能登录操作端。";
                    break;

                case LoginState.CannotConnectServer:
                    info = "连接服务器失败!";
                    break;

                case LoginState.ClientOffline:
                    info = "挂机端不在线,不能登录操作端。";
                    break;

                case LoginState.ClientIsNotLatestVersion:
                    info = "挂机端没有更新到最新版本,请更新后再登录操作端。";
                    break;

                case LoginState.NotAudit:
                case LoginState.Successed:
                    if (state == LoginState.NotAudit && IsClient)
                    {
                        info = "该用户帐号没有审核,不能登录挂机端。";
                        break;
                    }

                    info = "该用户帐号没有审核,登录成功后只允许对用户信息进行完善,不允许进行刷单操作!\r\n\r\n" +
                           "用户信息完善后,请联系管理员或客服帮助审核!";
                    Invoke(() =>
                    {
                        if (state == LoginState.NotAudit)
                        {
                            MessageBoxEx.Show(this, info, "登录", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }

                        if (LoginCfg == null)
                        {
                            if (checkBoxRememberPwd.Checked || checkBoxAutoLogin.Checked)
                            {
                                LoginCfg = new LoginCfg
                                {
                                    Account          = stbAccount.SkinTxt.Text.Trim(),
                                    Password         = MD5Encrypt.GetMD5(stbPassword.SkinTxt.Text.Trim()),
                                    RememberPassword = checkBoxRememberPwd.Checked,
                                    AutoLogin        = checkBoxAutoLogin.Checked
                                };
                                _loginCfgBll.AddOrUpdate(LoginCfg);
                            }
                        }
                        else
                        {
                            if (!checkBoxAutoLogin.Checked && !checkBoxRememberPwd.Checked)
                            {
                                _loginCfgBll.Delete(LoginCfg);
                            }
                            else if (LoginCfg.RememberPassword != checkBoxRememberPwd.Checked ||
                                     LoginCfg.AutoLogin != checkBoxAutoLogin.Checked)
                            {
                                LoginCfg.RememberPassword = checkBoxRememberPwd.Checked;
                                LoginCfg.AutoLogin        = checkBoxAutoLogin.Checked;
                                _loginCfgBll.AddOrUpdate(LoginCfg);
                            }
                        }

                        var user = new User
                        {
                            Account  = stbAccount.SkinTxt.Text.Trim(),
                            IsClient = IsClient
                        };

                        if (LoginCfg != null)
                        {
                            user.Password = LoginCfg.Password;
                        }
                        else
                        {
                            user.Password = MD5Encrypt.GetMD5(stbPassword.SkinTxt.Text.Trim());
                        }

                        _globalApplicationData.ApplicationData.IsClient = IsClient;
                        _globalApplicationData.ApplicationData.User     = user;
                        base.DialogResult = DialogResult.OK;
                        base.Close();
                        _offlineCheckManager.Start();
                    });
                    return;
                }

                Invoke(() =>
                {
                    MessageBoxEx.Show(this, info, "登录", MessageBoxButtons.OK, MessageBoxIcon.Information);
                });
            };
        }