Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        static public string ShowTradeDeals(RequestContext request)
        {
            int userstate = UserHandler.AuthUser(request);

            if (userstate == 1 || userstate == 2)
            {
                return(TradingDatabaseHandler.GetTradingDeals());
            }
            return(Output.AuthError);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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);
        }