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); }
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()); }