public static void MatchmadeBattleRequest(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) //eingeloggt { User user = UserHandler.GetUserDataByToken(request); if (user.deck_set) { try { User opp = FindOpponent(user); BattleManager battle = new BattleManager(user, opp); battle.PrepareDecks(); battle.StartMatchmadeBattle(); } catch (Exception e) { Output.WriteConsole(e.Message); } return; } Output.WriteConsole(Output.RatedMatchDeckNotDefined); return; } Output.WriteConsole(Output.AuthError); }
static public void CreateDeal(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { TradeItem item = JsonConvert.DeserializeObject <TradeItem>(request.Message); User user = UserHandler.GetUserDataByToken(request); if (UserCardsHandler.CheckValidCardToUser(item.cardToTrade, user)) { try { TradingDatabaseHandler.CreateTradingDeal(user, item); Output.WriteConsole(Output.TradeCreationSuccess); } catch (Exception e) { Output.WriteConsole(e.Message); } return; } Output.WriteConsole(Output.TradeCreationInvalidCard); return; } Output.WriteConsole(Output.AuthError); }
static public void Trade(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { string tradeId = ExtractIdFromRessource(request.Ressource); User user = UserHandler.GetUserDataByToken(request); if (!TradingDatabaseHandler.CheckDealToUser(tradeId, user)) { string offeredCardId = request.Message.Trim('"'); DummyCard dummyCard = CardsUsersDatabaseHandler.GetDummyCard(user, offeredCardId); if (dummyCard != null) { ICard card = DummyCardConverter.Convert(dummyCard); if (TradingDatabaseHandler.Trade(tradeId, user, offeredCardId, card.type, card.damage)) { TradingDatabaseHandler.DeleteTradingDeal(tradeId); Output.WriteConsole(Output.TradeSuccess); return; } Output.WriteConsole(Output.TradeConditionsNotMet); return; } Output.WriteConsole(Output.TradeInvalidCard); return; } Output.WriteConsole(Output.TradeSelfTrade); return; } Output.WriteConsole(Output.AuthError); }
static public void CreatePackage(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 2) //adminrechte benötigt { int counter = 0; DummyCard[] cards = new DummyCard[5]; string[] jsonStrings = PrepareJsonStrings(request.Message); foreach (string s in jsonStrings) { cards[counter] = JsonConvert.DeserializeObject <DummyCard>(jsonStrings[counter]); counter++; } try { CardsPacksDatabaseHandler.InsertPackage(cards); Output.WriteConsole(Output.PackageAddedSuccess); } catch (Exception e) { Output.WriteConsole(e.Message); } return; } if (userstate == 1) { Output.WriteConsole(Output.PermissionsDenied); return; } Output.WriteConsole(Output.AuthError); }
public static void FriendBattleRequest(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { User user = UserHandler.GetUserDataByToken(request); User friend = UserHandler.GetUserDataByUsername(ExtractUsernameFromRessource(request.Ressource)); if (friend != null && FriendlistHandler.CheckFriends(user, friend)) { if (user.deck_set && friend.deck_set) { BattleManager battle = new BattleManager(user, friend); battle.PrepareDecks(); battle.StartFriendBattle(); return; } Output.WriteConsole(Output.FriendMatchDeckNotDefined); return; } Output.WriteConsole(Output.FriendMatchNotInFl); return; } Output.WriteConsole(Output.AuthError); }
static public void AcquirePackage(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) //eingeloggt { User user = UserHandler.GetUserDataByToken(request); if (user.coins < 5) { Output.WriteConsole(Output.InsufficientCoins); return; } try { CardsPacksDatabaseHandler.AcquirePackage(user); user.coins -= 5; UserHandler.UpdateCoins(user); Output.WriteConsole(Output.PackageTransactionSuccess); } catch (Exception e) { Output.WriteConsole(e.Message); } return; } Output.WriteConsole(Output.AuthError); }
static public string ShowTradeDeals(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { return(TradingDatabaseHandler.GetTradingDeals()); } return(Output.AuthError); }
static public string ShowScoreboard(RequestContext request) //a scoreboard including stats of all users can be displayed { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) //eingeloggt { return(UserDatabaseHandler.GenerateScoreboard()); } return(Output.AuthError); }
static public string ShowFriendlist(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { return(FriendsDatabaseHandler.ShowFriendlist(UserHandler.GetUserDataByToken(request))); } return(Output.AuthError); }
static public string ShowStack(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { User user = UserHandler.GetUserDataByToken(request); return(CardsUsersDatabaseHandler.GetStackByUser(user)); } return(Output.AuthError); }
static public void ConfigureDeck(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { string[] strings = PrepareStrings(request.Message); User user = UserHandler.GetUserDataByToken(request); CardsUsersDatabaseHandler.UpdateDeck(user, strings); return; } Output.WriteConsole(Output.AuthError); }
static public string DeleteDeal(RequestContext request) { int userstate = UserHandler.AuthUser(request); if (userstate == 1 || userstate == 2) { string id = ExtractIdFromRessource(request.Ressource); if (TradingDatabaseHandler.CheckDealToUser(id, UserHandler.GetUserDataByToken(request))) { TradingDatabaseHandler.DeleteTradingDeal(id); return(Output.TradeDeletionSuccess); } return(Output.TradeDeletionError); } return(Output.AuthError); }
static public string ShowPersonalUserData(RequestContext request) //a user can view his own personal data { int userstate = UserHandler.AuthUser(request); //check if user is logged in if (userstate == 1 || userstate == 2) { if (AccessUserdata(request)) { User user = GetUserDataByToken(request); return(String.Format("ID: {0}\nUsername: {1}\nCoins: {2}\nName: {3}\nBio: {4}\nImage: {5}\n", user.uid, user.username, user.coins, user.name, user.bio, user.image)); } return(Output.UserdataAccessError); } return(Output.AuthError); }
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); }
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); }