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