Example #1
0
        private async void BtnLogin_Click()
        {
            // Call Business Api
            ILoginActivity loginActivity = Activity as ILoginActivity;

            if (loginActivity == null)
            {
                return;
            }

            var dialogTag = DialogGenerator.ShowWaitDialog(FragmentManager);

            LoginStatusEnum result = LoginStatusEnum.LoginFailure;

            try
            {
                result = await LoginUtil.Instance.ValidateUserLogin(
                    etEmail.Text, etPassword.Text,
                    ConfigurationService.GetAllCountryMap()[selectCountryIndex].CountryCode);
            }
            catch (Exception ee)
            {
                // force app exit
                // The common api should not throw any exception!
                throw ee;
            }

            AsyncUIOperationRepeater.INSTATNCE.SubmitAsyncUIOperation(
                (IAsyncTaskActivity)Activity,
                a =>
            {
                SimpleDialogFragment.DismissDialog(((FragmentActivity)a), dialogTag);
                ProcessLoginResult(result);
            });
        }
        public async Task <Tuple <User, LoginStatusEnum> > LoginOnline(string email, string password, string countryCode)
        {
            User            user        = null;
            LoginStatusEnum loginStatus = LoginStatusEnum.LoginFailure;
            LoginUser       loginUser   = new LoginUser
            {
                Email       = email,
                Password    = password,
                DeviceId    = GlobalAccess.DeviceId,
                CountryCode = countryCode
            };
            var loginResult = await authenticationService.LoginUserValidation(loginUser);

            if (loginResult.IsSuccess)
            {
                var response = loginResult.DeserializeObject <LoginUserValidationResponse>();

                if (response.state == "success")
                {
                    loginStatus = LoginStatusEnum.LoginSuccess;
                    user        = new User {
                        Email = email, Password = password, CountryCode = countryCode
                    };
                }
                user = UpdateUserToDb(response, loginUser);


                //if (response.ValidUser)
                //{
                //    if (response.Locked)
                //    {
                //        loginStatus = LoginStatusEnum.AccountLocked;
                //    }
                //    else
                //    {
                //        user = UpdateUserToDb(response, loginUser);
                //        bool needRegisterDevice = (response.FirstLogin || string.IsNullOrEmpty(user.SymmetricKey));
                //        if (needRegisterDevice)
                //        {
                //            user.SymmetricKey = await RegisterDevice(loginUser.Email, loginUser.Password, loginUser.CountryCode);

                //            loginStatus = (!string.IsNullOrEmpty(user.SymmetricKey) ? LoginStatusEnum.LoginSuccess : LoginStatusEnum.LoginFailure);
                //        }
                //        else
                //        {
                //            loginStatus = LoginStatusEnum.LoginSuccess;
                //        }
                //    }
                //}
                //else
                //{
                //    loginStatus = response.EmailAccountIsExists ? LoginStatusEnum.EmailOrPwdError : LoginStatusEnum.AccountNotExist;
                //}
            }
            return(new Tuple <User, LoginStatusEnum>(user, loginStatus));
        }
Example #3
0
        static internal LoginStatusEnum ValidateUserInfo(string email, string password, string countryCode)
        {
            LoginStatusEnum loginStatus     = LoginStatusEnum.LoginFailure;
            bool            isValidEmail    = false;
            bool            isValidPassword = false;

            bool isEmptyPassword = string.IsNullOrEmpty(password);
            bool isEmptyEmail    = string.IsNullOrEmpty(email);

            // isValidEmail = ValidateHelper.IsEmail(email);

            if (!string.IsNullOrEmpty(password))
            {
                isValidPassword = (password.Length > Constants.VALID_PWD_LENGTH);
            }

            if (string.IsNullOrEmpty(countryCode) && !isEmptyEmail && !isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.SelectCountry;
                return(loginStatus);
            }

            if (isEmptyEmail && isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.EmptyEmailAndEmptyPwd;
            }
            else if (!isValidEmail && !isEmptyEmail && isValidPassword)
            {
                loginStatus = LoginStatusEnum.InvalidemailAndValidPwd;
            }
            else if (isValidEmail && !isValidPassword && !isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.ValidemailAndInvalidPwd;
            }
            else if (!isEmptyEmail && !isValidEmail && !isValidPassword && !isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.InvalidemailAndInvalidPwd;
            }
            else if (isValidEmail && isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.ValidemailAndEmptyPwd;
            }
            else if (isEmptyEmail && isValidPassword)
            {
                loginStatus = LoginStatusEnum.EmptyemailAndValidPwd;
            }
            else if (isEmptyEmail && !isValidPassword && !isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.EmptyemailAndInvalidPwd;
            }
            else if (!isValidEmail && !isEmptyEmail && isEmptyPassword)
            {
                loginStatus = LoginStatusEnum.InvalidemailAndEmptyPwd;
            }
            return(loginStatus);
        }
Example #4
0
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            LoginStatusEnum loginStatus = UserInfoService.Instance.UserLogin(txtWorkId.Text.Trim(), txtPwd.Text.Trim());

            switch (loginStatus)
            {
            case LoginStatusEnum.Success:
                HideLoginBox();
                BindVoteItemData();
                break;

            default:
                ShowMessageBox("登录失败,请检查工号及密码是否正确,或与管理员联系");
                break;
            }
        }
Example #5
0
        public JsonResult DoLoginDialog()
        {
            //账户
            string LoginAccount = GetFormData("LoginInput").ToLower();

            if (string.IsNullOrEmpty(LoginAccount))
            {
                return(FailedJson("登录名称不能为空"));
            }

            //密码
            string LoginPassword = GetFormData("LoginPwd");

            if (string.IsNullOrEmpty(LoginPassword))
            {
                return(FailedJson("密码不能为空!"));
            }

            LoginStatusEnum loginEnum = UserInfoService.Instance.UserLogin(LoginAccount, LoginPassword);

            //验证码错误
            if (loginEnum == LoginStatusEnum.NameOrPwdErrorAndShowValidCode)
            {
                return(FailedJson("用户名或密码错误"));
            }
            //账户名不存在
            if (loginEnum == LoginStatusEnum.NotExists)
            {
                return(FailedJson("账户名不存在"));
            }
            //禁用
            if (loginEnum == LoginStatusEnum.Disabled)
            {
                return(FailedJson("该用户已被禁用"));
            }

            if (loginEnum == LoginStatusEnum.Success)
            {
                return(SuccessedJson("登录成功", "Home_Index", "Home_Index", "closeCurrent", "/"));
            }

            return(FailedJson("用户名或密码错误"));
        }
Example #6
0
        public JsonResult DoLogin()
        {
            //账户
            string LoginAccount = GetFormData("LoginInput").ToLower();

            if (string.IsNullOrEmpty(LoginAccount))
            {
                return(Json("ACCOUNTNULL", "登录名称不能为空!"));
            }

            //密码
            string LoginPassword = GetFormData("LoginPwd");

            if (string.IsNullOrEmpty(LoginPassword))
            {
                return(Json("PASSWORDNULL", "密码不能为空!"));
            }

            LoginStatusEnum loginEnum = UserInfoService.Instance.UserLogin(LoginAccount, LoginPassword, GetFormData("CodeNum"));

            //验证码错误
            if (loginEnum == LoginStatusEnum.NameOrPwdErrorAndShowValidCode)
            {
                return(Json(new { code = "NUMCODEERROR", msg = "用户名或密码错误" }));
            }
            //账户名不存在
            if (loginEnum == LoginStatusEnum.NotExists)
            {
                return(Json(new { code = "ACCOUNTNOTEXISTS", msg = "账户名不存在" }));
            }
            //禁用
            if (loginEnum == LoginStatusEnum.Disabled)
            {
                return(Json(new { code = "Forbidden", msg = "该用户已被禁用" }));
            }

            if (loginEnum == LoginStatusEnum.Success)
            {
                return(Json(new { code = "ok" }));
            }

            return(Json(new { code = "FAILED", msg = "用户名或密码错误" }));
        }
Example #7
0
        /// <summary>
        /// login process
        /// </summary>
        /// <param name="email">your email account</param>
        /// <param name="password">password</param>
        /// <param name="countryCode">countrycode</param>
        /// <returns></returns>
        public async Task <LoginStatusEnum> ValidateUserLogin(string email, string password, string countryCode)
        {
            //Verify the legitimacy of the account information
            LoginStatusEnum loginStatus = User.ValidateUserInfo(email, password, countryCode);

            try
            {
                User user       = null;
                var  pingResult = await connectionMonitor.PingService(countryCode);

                if (!pingResult)
                {//offline
                    //user = this.loginDomainService.LoginOffline(email, password, countryCode);
                    loginStatus = user == null ? LoginStatusEnum.NetDisconnected : loginStatus = LoginStatusEnum.NetDisconnected;
                }
                else
                {
                    var onlineResult = await loginDomainService.LoginOnline(email, password, countryCode);

                    user        = onlineResult.Item1;
                    loginStatus = onlineResult.Item2;
                }
                if (loginStatus == LoginStatusEnum.LoginSuccess)
                {
                    GlobalAccess.Instance.CurrentUserInfo = loginDomainService.UpdateCurrentUser(user);
                    await DomainEvents.Publish(new LoginSuccessEvent(GlobalAccess.Instance.CurrentUserInfo));
                }
            }
            catch (CusNetDisConnectedException)
            {
                loginStatus = LoginStatusEnum.NetDisconnected;
            }
            catch (MaxDeviceExceededException)
            {
                loginStatus = LoginStatusEnum.DeviceLimit;
            }
            catch (Exception ex)
            {
                loginStatus = LoginStatusEnum.LoginFailure;
                Logger.Log("ValidateUserLogin" + ex.ToString());
            }
            return(loginStatus);
        }
        async partial void RegisterButtonClick(NSObject sender)
        {
            SetControlsState(false);

            //invoke login business logic
            LoginUser user = new LoginUser();

            user.Email    = userMail.StringValue;
            user.Password = userPassword.StringValue;

            regions = ConfigurationService.GetAllCountryMap();

            foreach (Country region in regions)
            {
                if (region.CountryName.Equals(comboBox.Title))
                {
                    user.CountryCode = region.CountryCode;
                    break;
                }
            }

            LoginStatusEnum loginResponse = await SignIn(user);

            if (isRequestCancel)
            {
                isRequestCancel = false;
                return;
            }

            SetControlsState(true);

            if (loginResponse != LoginStatusEnum.LoginSuccess)
            {
                AlertSheet.RunLoginAlert(loginResponse);
            }
            else
            {
                mainWindow.OrderOut(null);
                mainWindow.Close();

                LoginUserDetails userDetail = GlobalAccess.Instance.CurrentUserInfo;

                var appDelegate = (AppDelegate)NSApplication.SharedApplication.Delegate;

                //for test
                //bool isEnter = true;
                //if (isEnter) {

                if (userDetail.NeedChangePassword)
                {
                    CGRect  frameRect = Window.Frame;
                    CGPoint orgPoint  = frameRect.Location;
                    orgPoint.Y = frameRect.Top - (315 - 260);
                    //using (var windowController = new ChangePasswordWindowController(orgPoint)) {
                    var windowController = new ChangePasswordWindowController(orgPoint);
                    var changeWindow     = windowController.Window;
                    windowController.ShowWindow(this);

                    Window.OrderOut(null);

                    changeWindow.WindowShouldClose += t => true;
                    changeWindow.WillClose         += delegate(object obj, EventArgs e){
                        if (windowController.IsChangeSuccess)
                        {
                            appDelegate.SwitchWindowByWindowName("PublicationWindowController");
                            appDelegate.SetLogOutMenuItemFullName();
                        }
                        else
                        {
                            Window.OrderFront(null);
                        }
                    };
                    //}
                }
                else
                {
                    appDelegate.SwitchWindowByWindowName("PublicationWindowController");
                    appDelegate.SetLogOutMenuItemFullName();
                }
            }
        }
Example #9
0
        private void ProcessLoginResult(LoginStatusEnum result)
        {
            var loginActivity = Activity as ILoginActivity;

            if (loginActivity == null)
            {
                return;
            }

            switch (result)
            {
            case LoginStatusEnum.LoginSuccess:
            {
                if (GlobalAccess.Instance.CurrentUserInfo.NeedChangePassword)
                {
                    ResetPasswordDialogFragment resetPasswordDialogFragment = new ResetPasswordDialogFragment();
                    resetPasswordDialogFragment.Show(FragmentManager.BeginTransaction(), "resetPasswordDialogFragment");
                }
                else
                {
                    loginActivity.LoginSucceed();
                }
                break;
            }

            case LoginStatusEnum.NetDisconnected:
            {
                // 2
                DialogGenerator.ShowMessageDialog(
                    FragmentManager,
                    Resource.String.LoginErrorMessage_NetDisconnected_Title,
                    Resource.String.LoginErrorMessage_NetDisconnected);
                break;
            }

            case LoginStatusEnum.InvalidemailAndValidPwd:
            {
                // 7
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_InvalidemailAndValidPwd));
                break;
            }

            case LoginStatusEnum.ValidemailAndInvalidPwd:
            {
                // 8
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_ValidemailAndInvalidPwd));
                break;
            }

            case LoginStatusEnum.InvalidemailAndInvalidPwd:
            {
                // 9
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_InvalidemailAndInvalidPwd));
                break;
            }

            case LoginStatusEnum.ValidemailAndEmptyPwd:
            {
                // 10
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_ValidemailAndEmptyPwd));
                break;
            }

            case LoginStatusEnum.EmptyemailAndValidPwd:
            {
                // 11
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_EmptyemailAndValidPwd));
                break;
            }

            case LoginStatusEnum.InvalidemailAndEmptyPwd:
            {
                // 12
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_InvalidemailAndEmptyPwd));
                break;
            }

            case LoginStatusEnum.SelectCountry:
            {
                // 13
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_SelectCountry));
                break;
            }

            case LoginStatusEnum.EmailOrPwdError:
            {
                // may be 7
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_EmailOrPwdError));
                break;
            }

            case LoginStatusEnum.AccountNotExist:
            {
                // 19
                DialogGenerator.ShowMessageDialog(
                    FragmentManager,
                    Resource.String.LoginErrorMessage_AccountNotExistTitle,
                    Resource.String.LoginErrorMessage_AccountNotExist);
                break;
            }

            case LoginStatusEnum.EmptyEmailAndEmptyPwd:
            {
                // may be 11
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_EmptyEmailAndEmptyPwd));
                break;
            }

            case LoginStatusEnum.DeviceLimit:
            {
                // Not provide
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_DeviceLimit));
                break;
            }

            case LoginStatusEnum.LoginFailure:
            {
                // Not provide
                SetLoginWaringMessage(
                    Activity.Resources.GetString(Resource.String.LoginErrorMessage_LoginFailure));
                break;
            }
            }
        }
Example #10
0
        public static void RunLoginAlert(LoginStatusEnum loginResponse)
        {
            string errorMsg = "";
            string title;

            switch (loginResponse)
            {
            case LoginStatusEnum.NetDisconnected:
                title     = "Server Error";
                errorMsg += "Unable to communicate with LexisNexis Red services. Please ensure you have an internet connection, or try again later as the servers may be busy.";
                break;

            case LoginStatusEnum.InvalidemailAndValidPwd:
            case LoginStatusEnum.InvalidemailAndInvalidPwd:
                title     = "Error";
                errorMsg += "The email address you entered does not look correct.";
                break;

            case LoginStatusEnum.LoginSuccess:
                title     = "";
                errorMsg += "Login success";
                break;

            case LoginStatusEnum.EmptyEmailAndEmptyPwd:
                title     = "Error";
                errorMsg += "Please enter both your email address and password to log in.";
                break;

            case LoginStatusEnum.ValidemailAndEmptyPwd:
                title     = "Error";
                errorMsg += "Please enter both your email and password to log in.";
                break;

            case LoginStatusEnum.EmptyemailAndValidPwd:
                title     = "Error";
                errorMsg += "The email address you entered does not look correct.";
                break;

            case LoginStatusEnum.ValidemailAndInvalidPwd:
            case LoginStatusEnum.EmailOrPwdError:
                title     = "Error";
                errorMsg += "Either the email or password you have entered is incorrect. Please try again.";
                break;

            case LoginStatusEnum.InvalidemailAndEmptyPwd:
                title     = "Error";
                errorMsg += "The email address you entered does not look correct.";
                errorMsg += Environment.NewLine;
                errorMsg += "Please enter both your email and password to login.";
                break;

            case LoginStatusEnum.SelectCountry:
                title     = "Error";
                errorMsg += "Please select a country from the drop down list.";
                break;

            case LoginStatusEnum.DeviceLimit:
                title     = "Error";
                errorMsg += "Exceed device limition.";
                break;

            case LoginStatusEnum.AccountNotExist:
                title     = "Error";
                errorMsg += "Email address does not exist.  Pelase try again.";
                break;

            default:
                title     = "Error";
                errorMsg += "Login failed, unknow error!";
                break;
            }

            if (errorMsg != "")
            {
                NSAlert alert = NSAlert.WithMessage(title, "OK", null, null, errorMsg);
                alert.Window.MakeFirstResponder(null);
                Run(alert);
            }
        }