/// <summary> /// Method to attempt logging in a user to the Firebase Realtime Database. /// </summary> /// <param name="username">The user's chosen username</param> /// <param name="password">The user's chosen password</param> /// <returns> /// A string explaining the status of the attempt. If the login was successful, it will return a success message. /// If the user enterred the wrong username/password, it will return a message indicating an incorrect username/password /// was provided. If there was a database error it will return an error message. /// </returns> public static String AttemptLogin(String username, String password) { try { string truePassword = RestfulDBConnection.Retrieve(username + "/password"); if (truePassword == password) { Debug.Write("Successfully logged in user " + username + ".\n"); return("Success"); } else { Debug.Write("Username or password provided was incorrect: " + username + ", " + password + ".\n"); return("Incorrect Username/Password"); } } catch (Exception e) { Debug.Write("Error attempting login: "******"\n"); return("Error Attempting Login"); } }
/// <summary> /// Method to check whether a username is available in the Firebase Realtime Database. /// </summary> /// <param name="username">The username in question</param> /// <returns> /// A string explaining the status of the username as available, unavailable, or unanswerable due to a database error. /// </returns> public static String TestIfUsernameAvailable(String username) { try { var check = RestfulDBConnection.Retrieve(username); if (check == "null") { Debug.Write("Username " + username + " is available.\n"); return("Available"); } else { Debug.Write("Username " + username + " is unavailable.\n"); return("Unavailable"); } } catch (Exception e) { Debug.Write("Error creating user: "******"\n"); return("DB Error"); } }