static public void UpdateExtraUserData(RequestContext request) //used to edit data like name, bio and image { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) //eingeloggt { if (AccessUserdata(request)) //check if user is permitted to access data (if user tries to edit his own data) { User user = JsonConvert.DeserializeObject <User>(request.Message); user.username = ExtractUserFromToken(GetToken(request)); UserDatabaseHandler.UpdateExtraUserData(user); Output.WriteConsole(Output.UserdataEditSuccess); return; } Output.WriteConsole(Output.UserdataAccessError); return; } Output.WriteConsole(Output.AuthError); }
static public void SellCard(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { User user = UserHandler.GetUserDataByToken(request); string cardId = request.Message.Trim('"'); if (UserCardsHandler.CheckValidCardToUser(cardId, user)) { UserCardsHandler.SellCard(cardId, user); Output.WriteConsole(Output.CardSoldSuccess); return; } Output.WriteConsole(Output.CardSoldError); return; } Output.WriteConsole(Output.AuthError); }
static public void AddFriend(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { string friendName = ExtractUsernameFromRessource(request.Ressource); User user = UserHandler.GetUserDataByUsername(friendName); if (user != null) { FriendsDatabaseHandler.AddFriend(UserHandler.GetUserDataByToken(request), UserHandler.GetUserDataByUsername(friendName)); //To be implemented } else { Output.WriteConsole(Output.UserDoesNotExist); } return; } Output.WriteConsole(Output.AuthError); }
static public string ShowPersonalStats(RequestContext request) //a user can view his personal stats { float winrate; int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) //eingeloggt { User user = GetUserDataByToken(request); if (user.gamesPlayed == 0) { winrate = 0; } else { winrate = (float)user.wins / (float)user.gamesPlayed * 100; } return(String.Format("Username: {0}\nElo: {1}\nGames played: {2}\nWins: {3}\nWinrate: {4}%\n", user.username, user.elo, user.gamesPlayed, user.wins, winrate.ToString("n2"))); } return(Output.AuthError); }
static public string HandleByCommand(RequestContext request) { if (String.Compare(request.Ressource, RequestCalls.cards) == 0) { return(UserCardsHandler.ShowStack(request)); } if (String.Compare(request.Ressource, RequestCalls.deck_plain) == 0) { return(UserCardsHandler.ShowDeck(request, true)); } if (String.Compare(request.Ressource, RequestCalls.deck) == 0) { return(UserCardsHandler.ShowDeck(request, false)); } if (request.Ressource.Contains(RequestCalls.specific_user)) { return(UserHandler.ShowPersonalUserData(request)); } if (String.Compare(request.Ressource, RequestCalls.stats) == 0) { return(UserHandler.ShowPersonalStats(request)); } if (String.Compare(request.Ressource, RequestCalls.score) == 0) { return(UserHandler.ShowScoreboard(request)); } if (String.Compare(request.Ressource, RequestCalls.tradings) == 0) { return(TradingHandler.ShowTradeDeals(request)); } if (String.Compare(request.Ressource, RequestCalls.friends) == 0) { return(FriendlistHandler.ShowFriendlist(request)); } return("Kein passender Befehl!"); }
static public string DeleteFriend(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { string friendName = ExtractUsernameFromRessource(request.Ressource); User user = UserHandler.GetUserDataByUsername(friendName); if (user != null) { return(FriendsDatabaseHandler.DeleteFriend(UserHandler.GetUserDataByToken(request), UserHandler.GetUserDataByUsername(friendName))); } return(Output.UserDoesNotExist); } return(Output.AuthError); }