Example #1
0
        private async void btnLogin_Click(object sender, EventArgs e)
        {
            if (tbUsername.Text == "" || tbPassword.Text == "" || tbSecret.Text == "")
            {
                MessageBox.Show("Please fill all fields");
                return;
            }

            Platform platform = Platform.Pc;
            var      user     = tbUsername.Text;
            var      password = tbPassword.Text;
            var      sAnswer  = tbSecret.Text;

            if (File.Exists("cookies\\" + user + "_cookie.dat"))
            {
                CookieContainer cookie = CookieUtil.ReadCookiesFromDisk("cookies\\" + user + "_cookie.dat");
                _client = new FutClient(cookie);
            }
            else
            {
                _client = new FutClient();
            }

            this.Enabled = false;

            switch (cbPlatform.SelectedIndex)
            {
            case 0:
                platform = Platform.Pc;
                break;

            case 1:
                platform = Platform.Ps3;
                break;

            case 2:
                platform = Platform.Ps4;
                break;

            case 3:
                platform = Platform.Xbox360;
                break;

            case 4:
                platform = Platform.XboxOne;
                break;
            }

            var loginDetails = new LoginDetails(user, password, sAnswer, platform);
            ITwoFactorCodeProvider provider = new ImapTwoFactorCodeProvider();

            try
            {
                await _client.LoginAsync(loginDetails, provider);

                if (!File.Exists("cookies\\" + user + "_cookie.dat"))
                {
                    var cookiecontainer = _client.RequestFactories.CookieContainer;
                    CookieUtil.WriteCookiesToDisk("cookies\\" + user + "_cookie.dat", cookiecontainer);
                }
                var frm = new FormMain(_client, new[] { user, password, sAnswer, cbPlatform.SelectedIndex.ToString() });
                frm.Show();
                Hide();
            }
            catch (FutException ex)
            {
                MessageBox.Show("Login Failed");
                WriteLog.DoWrite("Login Failed: " + ex.InnerException.Message);
                _client = null;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error");
                WriteLog.DoWrite("Login Error: " + ex.InnerException.Message);
                _client = null;
            }
            finally
            {
                this.Enabled = true;
            }
        }