Esempio n. 1
0
        private async void loginButton_Clicked(object sender, EventArgs e)
        {
            overlay.IsVisible = true;
            sqliteManager.logoutUser();
            string sample = emailEntry.Text + "," + passEntry.Text;

            if (emailEntry.Text == string.Empty || passEntry.Text == string.Empty)
            {
                await PopupNavigation.Instance.PushAsync(new LoginFailedEmptyField());

                overlay.IsVisible = false;
                return;
            }
            try
            {
                using (var cl = new HttpClient())
                {
                    JsonSerializerSettings settings = new JsonSerializerSettings();
                    settings.NullValueHandling    = NullValueHandling.Ignore;
                    settings.DefaultValueHandling = DefaultValueHandling.Ignore;
                    var request = await cl.GetAsync("http://" + ApiConnection.Url + "/apier/api/test_api.php?action=fetch_userexists&email='" + sample + "'");

                    request.EnsureSuccessStatusCode();
                    var response = await request.Content.ReadAsStringAsync();

                    if (response.ToString().Contains("Undefined"))
                    {
                        await PopupNavigation.Instance.PushAsync(new LoginFailedIncorrect());

                        overlay.IsVisible = false;
                        return;
                    }
                    response = response.Replace(@"\", "");
                    var looper = JsonConvert.DeserializeObject <List <UserModel> >(response, settings);
                    foreach (UserModel model in looper)
                    {
                        //var webClient = new WebClient();
                        //byte[] imageBytes = webClient.DownloadData(model.image);
                        //string base64Image = Convert.ToBase64String(imageBytes);
                        //model.image = base64Image;
                        userLogged = model;
                    }
                    Application.Current.Properties["Id"] = "\"" + userLogged.id + "\"";
                    CrossToastPopUp.Current.ShowToastMessage("Welcome to Amare, " + userLogged.username + "!");
                }
                await retrieveSearchReference();
                await saveToSqlite();
                await retrieveGallery();
                await retrievInbox();
                await loadRecentMatches();

                App.Current.MainPage = new NavigationPage(new MainPage());
            }
            catch (Exception ex)
            {
                overlay.IsVisible = false;
                await DisplayAlert("Invalid Credentials", "The email or password you entered is incorrect", "Okay");
            }
        }
Esempio n. 2
0
        private async void deleteButton_Clicked(object sender, EventArgs e)
        {
            deleteButton.IsEnabled = false;
            if (!sqliteManager.isCorrectPassword(passwordEntry.Text))
            {
                await DisplayAlert("Oops!", "Incorrect password!, Please try again", "Okay");

                deleteButton.IsEnabled = true;
                return;
            }
            if (!await api.deleteUser(Application.Current.Properties["Id"].ToString()))
            {
                await DisplayAlert("Oops!", "Unable to delete account!", "Okay");

                deleteButton.IsEnabled = true;
                return;
            }
            sqliteManager.logoutUser();
            sendMessage();
            deleteButton.IsEnabled = true;
            await PopupNavigation.Instance.PopAllAsync();

            App.Current.MainPage = new NavigationPage(new Login());
        }
Esempio n. 3
0
 private void deleteFromSqlite()
 {
     sqliteManager.logoutUser();
 }