Exemplo n.º 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);
        }
Exemplo n.º 2
0
        private bool ElementTypeForTradeIsOk(string offeredCardName, string requiredElementType)
        {
            if (requiredElementType.IsNullOrWhiteSpace() || requiredElementType.ToLower() == "any")
            {
                return(true);
            }

            ElementType offeredCardElementType = CardsManager.ExtractElementType(offeredCardName);
            ElementType requiredElement        = CardsManager.ExtractElementType(requiredElementType);

            return(offeredCardElementType == requiredElement);
        }