Example #1
0
        public bool AddCard(CardData cardData, int packageId)
        {
            if (CardExists(cardData.Id))
            {
                return(false);
            }

            string statement = $"INSERT INTO \"{Table}\" (id, name, damage, weakness, element, card_type, package_id) VALUES" +
                               " (@id, @name, @damage, @weakness, @element, @card_type, @package_id)";

            string cardType = CardsManager.ExtractCardType(cardData.Name) == CardType.Spell ? "spell"
                              : CardsManager.ExtractMonsterType(cardData.Name).ToString().ToLower();

            int rowsAffected = database.ExecuteNonQuery(
                statement,
                new NpgsqlParameter <string>("id", cardData.Id),
                new NpgsqlParameter <string>("name", cardData.Name),
                new NpgsqlParameter <double>("damage", cardData.Damage),
                new NpgsqlParameter <double>("weakness", cardData.Weakness),
                new NpgsqlParameter <string>("element", CardsManager.ExtractElementType(cardData.Name).ToString().ToLower()),
                new NpgsqlParameter <string>("card_type", cardType),
                new NpgsqlParameter <int>("package_id", packageId)
                );;

            return(rowsAffected == 1);
        }
Example #2
0
        private bool CardTypeForTradeIsOk(string offeredCardName, string requiredCardType)
        {
            if (requiredCardType.IsNullOrWhiteSpace() || requiredCardType.ToLower() == "any")
            {
                return(true);
            }

            CardType offeredCardType = CardsManager.ExtractCardType(offeredCardName);

            if (offeredCardType.ToString().ToLower() == requiredCardType.ToLower())
            {
                return(true);
            }

            if (requiredCardType.ToLower() == "monster")
            {
                return(offeredCardType == CardType.Monster);
            }

            MonsterType monsterType = CardsManager.ExtractMonsterType(offeredCardName);

            return(requiredCardType.ToLower() == monsterType.ToString().ToLower());
        }