Example #1
0
        private void _loginButton_Click(object sender, EventArgs e)
        {
            _enableValidators = true;

            if (this.ValidateChildren() == false)
            {
                return;
            }


            //Disable the form
            SetLoggingIn(true);

            //Create a thread-safe delegate
            var launcherSignInComplete = new ServiceHandler.LauncherSignInCompleteDelegate(delegate(LauncherSignInResult launcherSignInResult)
            {
                //Unlock the form
                SetLoggingIn(false);

                if (launcherSignInResult.StatusSpecified == false)
                {
                    SetStatusBar("Failed to contact server, please try again later.", 0);
                }
                else
                {
                    switch (launcherSignInResult.Status)
                    {
                    case CheckInStatus.Ok:
                        if (LauncherSignInComplete != null)
                        {
                            LauncherSignInComplete(launcherSignInResult.Status);
                        }
                        break;

                    case CheckInStatus.AccountLinked:
                        if (ShowOfflineLaunch != null)
                        {
                            ShowOfflineLaunch(_usernameTextBox.Text, launcherSignInResult.LinkedAccount, false);
                        }
                        break;

                    case CheckInStatus.VirtualMachineBlocked:
                        if (ShowVirtualMachineInfo != null)
                        {
                            ShowVirtualMachineInfo(false);
                        }
                        break;

                    case CheckInStatus.InvalidCredentials:
                        SetStatusBar("Username or password was incorrect.", 0);
                        break;

                    case CheckInStatus.InvalidHash:
                        SetStatusBar("Machine information package was incorrect.", 0);
                        break;

                    case CheckInStatus.Timeout:
                        SetStatusBar("Server response timeout, please try again.", 0);
                        break;

                    case CheckInStatus.PermissionDenied:
                        SetStatusBar("Permission was denied, please try again.", 0);
                        break;

                    case CheckInStatus.AccountLocked:
                        SetStatusBar("Your account was locked out. Please use the forums for more help.", 0);
                        break;

                    default:
                        throw new NotSupportedException(launcherSignInResult.Status.ToString());
                    }
                }
            });

            //Check if the input credentials are valid
            ServiceHandler.LauncherSignIn(_usernameTextBox.Text, _passwordTextBox.Text, delegate(LauncherSignInResult launcherSignInResult)
            {
                //Check if it is safe to call the delegate from this thread
                if (this.InvokeRequired)
                {
                    this.Invoke(launcherSignInComplete, launcherSignInResult);
                }
                else
                {
                    launcherSignInComplete(launcherSignInResult);
                }
            });
        }
        private void _loginButton_Click(object sender, EventArgs e)
        {
            _enableValidators = true;

            if (this.ValidateChildren() == false)
                return;

            //Disable the form
            SetLoggingIn(true);

            //Create a thread-safe delegate
            var launcherSignInComplete = new ServiceHandler.LauncherSignInCompleteDelegate(delegate(LauncherSignInResult launcherSignInResult)
            {
                //Unlock the form
                SetLoggingIn(false);

                if (launcherSignInResult.StatusSpecified == false)
                {
                    SetStatusBar("Failed to contact server, please try again later.", 0);
                }
                else
                {
                    switch (launcherSignInResult.Status)
                    {
                        case CheckInStatus.Ok:
                            if (LauncherSignInComplete != null)
                                LauncherSignInComplete(launcherSignInResult.Status);
                            break;

                        case CheckInStatus.AccountLinked:
                            if (ShowOfflineLaunch != null)
                                ShowOfflineLaunch(_usernameTextBox.Text, launcherSignInResult.LinkedAccount, false);
                            break;

                        case CheckInStatus.VirtualMachineBlocked:
                            if (ShowVirtualMachineInfo != null)
                                ShowVirtualMachineInfo(false);
                            break;

                        case CheckInStatus.InvalidCredentials:
                            SetStatusBar("Username or password was incorrect.", 0);
                            break;

                        case CheckInStatus.InvalidHash:
                            SetStatusBar("Machine information package was incorrect.", 0);
                            break;

                        case CheckInStatus.Timeout:
                            SetStatusBar("Server response timeout, please try again.", 0);
                            break;

                        case CheckInStatus.PermissionDenied:
                            SetStatusBar("Permission was denied, please try again.", 0);
                            break;

                        case CheckInStatus.AccountLocked:
                            SetStatusBar("Your account was locked out. Please use the forums for more help.", 0);
                            break;

                        default:
                            throw new NotSupportedException(launcherSignInResult.Status.ToString());
                    }
                }
            });

            //Check if the input credentials are valid
            ServiceHandler.LauncherSignIn(_usernameTextBox.Text, _passwordTextBox.Text, delegate(LauncherSignInResult launcherSignInResult)
            {
                //Check if it is safe to call the delegate from this thread
                if (this.InvokeRequired)
                    this.Invoke(launcherSignInComplete, launcherSignInResult);
                else
                    launcherSignInComplete(launcherSignInResult);
            });
        }