Пример #1
0
        private void authenticate()
        {
            bool isValid = validateInput();

            if (!isValid)
            {
                return;
            }

            toggleUiInput();
            loginBtn.Text = "Authenticating...";

            Task.Run(async() =>
            {
                return(await DavinciApi.Authenticate(usernameField.Text, passwordField.Text));
            }).ContinueWith(async responseTask =>
            {
                var response = responseTask.Result;

                if (responseTask.Status == TaskStatus.Canceled)
                {
                    toggleUiInput();
                    loginBtn.Text = "Login";

                    Infobar.Show(this.Context, "Connection error", Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false);
                }
                else if (response.OK)
                {
                    saveCredentials(rememberBox.Checked);

                    Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false);

                    await Task.Delay(500);

                    showFeed();
                }
                else
                {
                    toggleUiInput();
                    loginBtn.Text = "Login";

                    Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Error, GravityFlags.Top | GravityFlags.FillHorizontal, false);
                }
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }
Пример #2
0
        private void Register()
        {
            bool isValid = validateInput();

            if (!isValid)
            {
                return;
            }

            toggleUiInput();
            registerBtn.Text = "Registering...";

            Task.Run(async() =>
            {
                return(await DavinciApi.Register(usernameField.Text, emailField.Text, passwordField.Text));
            }).ContinueWith(responseTask =>
            {
                var response = responseTask.Result;

                if (responseTask.Status == TaskStatus.Canceled)
                {
                    toggleUiInput();
                    registerBtn.Text = "Register";

                    Infobar.Show(this.Context, "Connection error", Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false);
                }
                else if (response.OK)
                {
                    Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false);

                    ((AccountActivity)parentActivity).Login();
                }
                else
                {
                    toggleUiInput();
                    registerBtn.Text = "Register";

                    Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Error, GravityFlags.Top | GravityFlags.FillHorizontal, false);
                }
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }