Nouveau dans les bases de données Firebase ici, essayez-le pour vous connecter. (je veux utiliser le nom d'utilisateur au lieu des e-mails)

Donc, en utilisant une base de données en temps réel, mais je n'arrive pas à tirer quoi que ce soit de la base de données. Je ne vois rien de mal à ce que je fais. Au début, j'ai pensé que c'était à cause des règles, les mêmes résultats après les avoir définis sur auth == null.

Des idées?

 public FirebaseClient firebase = new FirebaseClient("https://MyApp.firebaseio.com/");
 private readonly string ChildName = "Users";

 public async Task<List<Userlogin>> GetAllUser()
        {

         return (await firebase
                .Child(ChildName)
                .OnceAsync<Userlogin>()).Select(item =>
                new Userlogin
                {
                    user_login = item.Object.user_login,
                    passwords = item.Object.passwords
                }).ToList();
        }

  public async Task<Userlogin> GetUser(string user_login)
        {
            try
            {
                var allUsers = await GetAllUser();
                await firebase
                .Child(ChildName)
                .OnceAsync<Userlogin>();
                return allUsers.Where(a => a.user_login == user_login).FirstOrDefault();
            }
            catch (Exception e)
            {
                Crashes.TrackError(e);
                return null;
            }
        }

private async void Login_Phase1()
{
            try
            {
                if (string.IsNullOrEmpty(Usernamelabel.Text) || string.IsNullOrEmpty(Password.Text))
                    await App.Current.MainPage.DisplayAlert("Empty Values", "Please enter Email and Password", "OK");
                else
                {
                    var user = await GetUser(Usernamelabel.Text);

                    if (user != null)
                        if (Usernamelabel.Text == user.user_login && Password.Text == user.passwords)
                        {
                            Login_Phase2();
                        }
                        else
                            await App.Current.MainPage.DisplayAlert("Login Fail", "Please enter correct Email and Password", "OK");
                    else
                        await App.Current.MainPage.DisplayAlert("Login Fail", "User not found", "OK");
                }

            }
            catch (Exception e)
            {
                Crashes.TrackError(e);
            }
}

enter image description here

enter image description here

0
Azurry 17 févr. 2020 à 12:51

1 réponse

Meilleure réponse

Remarque:

Ce n'est peut-être pas toujours le cas je crois

Lors de l'importation de vos "utilisateurs" de base de données Dans mon cas, si vous importez à l'aide d'un fichier Json.

Pour une raison étrange, j'ai dû créer un utilisateur manuel sur la base de données pour qu'il enregistre les autres utilisateurs sur l'appel.

Solution:

Créez simplement un nouvel enfant sur la base de données avec les propriétés correctes.

0
Azurry 17 févr. 2020 à 10:23