示例#1
0
        private async void button_CreateUsername_Click(object sender, EventArgs e)
        {
            textBox_Username.Text = textBox_Username.Text.Trim();
            if (string.IsNullOrEmpty(textBox_Username.Text))
            {
                MessageBox.Show("Username cannot be blank");
                return;
            }
            if (string.IsNullOrEmpty(textBox_Password.Text))
            {
                MessageBox.Show("Password cannot be blank");
                return;
            }
            if (textBox_Password.Text != textBox_Password2.Text)
            {
                MessageBox.Show("Passwords do not match!");
                return;
            }
            Enabled = false;
            var result = await DiceWebAPI.CreateUserAsync(Session, textBox_Username.Text, textBox_Password.Text);

            if (result.Success)
            {
                Close();
                return;
            }
            if (result.UsernameAlreadyTaken)
            {
                MessageBox.Show("That username is already taken, please try another");
            }
            else if (result.AccountAlreadyHasUser)
            {
                MessageBox.Show("This account already has a username: "******"You are performing actions too quickly, please slow down");
            }
            else if (result.ErrorMessage != null)
            {
                MessageBox.Show("Error: " + result.ErrorMessage);
            }
            else
            {
                MessageBox.Show("An error has occurred, please try again.");
            }
        }
        private async void GetNewAccount()
        {
            BeginSessionResponse sessionResult = null;

            try
            {
                sessionResult = await DiceWebAPI.BeginSessionAsync(Settings.Default.ApiSettings);
            }
            catch (Exception ex)
            {
            }

            if (sessionResult.Success)
            {
                CreateUserResponse newAccResult = null;
                try
                {
                    newAccResult = await DiceWebAPI.CreateUserAsync(sessionResult.Session, _newAccountModel.Login, _newAccountModel.PasswordOne);
                }
                catch (Exception ex)
                {
                }

                if (newAccResult.Success)
                {
                    MessageBox.Show("New account created!");
                    OnLogin?.Invoke(this, _newAccountModel.Login);
                }
                else
                {
                    ErrorProcessingCreateUser(newAccResult);
                }
            }
            else
            {
                ErrorProcessingBeginSession(sessionResult);
            }
        }