private void SelectFilteredExecute(bool includeTotalCount) { EasyTableQueryHelper <Highscore> queryHelper = new EasyTableQueryHelper <Highscore>(); string pn = "d"; var query = queryHelper.Where(x => x.score > 500 || x.playername.StartsWith(pn)).OrderBy(x => x.score); if (includeTotalCount) { query = query.IncludeTotalCount(); } EasyTables.Instance.SelectFiltered <Highscore>(query, x => { if (x.Status == CallBackResult.Success) { foreach (var item in x.Result.results) { Debug.Log(string.Format("ID is {0},score is {1}", item.id, item.score)); } if (includeTotalCount) { StatusText.text = string.Format("Brought {0} rows out of {1}", x.Result.results.Count(), x.Result.count); } else { StatusText.text = string.Format("Brought {0} rows", x.Result.results.Count()); } } else { ShowError(x.Exception.Message); } }); StatusText.text = "Loading..."; }
public void RegisterUser(string username, string password) { User newUser = new User(); newUser.username = username; newUser.password = password; newUser.checkpointID = 0; EasyTableQueryHelper <User> queryHelper = new EasyTableQueryHelper <User>(); //var query = queryHelper.Where(x => x.score > 500 || x.playername.StartsWith(pn)).OrderBy(x => x.score); var query = queryHelper.Where(selectResponse => selectResponse.username.Contains(newUser.username)); EasyTables.Instance.SelectFiltered <User>(query, selectResponse => { if (selectResponse.Status == CallBackResult.Success) { // if username doesn't exists in the database... register user if (!IsUsernameInDatabase(ref selectResponse, ref newUser.username)) { //InsertUserIntoDatabase(newUser); // Insert newUser into the database EasyTables.Instance.Insert(newUser, insertResponse => { if (insertResponse.Status == CallBackResult.Success) { //Debug.Log(string.Format("ID is {0}, username is {1}, password is {2}, checkpointID is {3}", // user.id, user.username, user.password, user.checkpointID)); //string result = "Registration completed"; //Debug.Log(result); //StatusText.text = "Registration successful!"; if (OnRegistered != null) { OnRegistered(); } if (OnStatusUpdate != null) { OnStatusUpdate("Registration successful"); } } else { Debug.Log(insertResponse.Exception.Message); } }); } else if (OnStatusUpdate != null) { OnStatusUpdate("Username not available"); } //StatusText.text = "Username already taken!"; } else { Debug.Log(selectResponse.Exception.Message); } }); }
public void LoginUser(string username, string password) { EasyTableQueryHelper <User> queryHelper = new EasyTableQueryHelper <User>(); //var query = queryHelper.Where(x => x.score > 500 || x.playername.StartsWith(pn)).OrderBy(x => x.score); var query = queryHelper.Where(selectResponse => selectResponse.username.Contains(username)); EasyTables.Instance.SelectFiltered <User>(query, selectResponse => { if (selectResponse.Status == CallBackResult.Success) { // if username/password does exists in the database... log in user bool inputAcceptable = false; foreach (var item in selectResponse.Result.results) { // Check for the usernames found that only match the input username exactly if (item.username.Equals(username, StringComparison.Ordinal)) { if (item.password.Equals(password, StringComparison.Ordinal)) { inputAcceptable = true; IsLoggedIn = true; CurrentUser.username = item.username; CurrentUser.password = item.password; CurrentUser.checkpointID = item.checkpointID; CurrentUser.databaseID = item.id; //Debug.Log("updated ingame user data checkpoint: " + CurrentUser.checkpointID); break; } } } if (inputAcceptable) { //StatusText.text = "Login successful!"; //Debug.Log("Logged in event"); if (OnStatusUpdate != null) { OnStatusUpdate("Login successful"); } if (OnLoggedIn != null) { OnLoggedIn(); } } else if (OnStatusUpdate != null) { OnStatusUpdate("Username or password is incorrect!"); } //StatusText.text = "Username or password is inccorect!"; } else { Debug.Log(selectResponse.Exception.Message); } }); }