public MtgCard GetMtgCard(string name) { var entity = _repository.GetMtgCardByName(name); MtgCard card = null; if (entity != null) { card = new MtgCard() { Name = entity.Name }; } return(card); }
private static Embed CardToEmbed(MtgCard card) { var cardEmbed = new EmbedBuilder(); var searchTerm = WebUtility.UrlEncode(card.name.ToLower()); var cardUrl = $"https://scryfall.com/search?q={searchTerm}&unique=cards&as=grid&order=name"; var cardImage = card.imageUrl; cardEmbed.Title = card.name; cardEmbed.Url = cardUrl; cardEmbed.ThumbnailUrl = cardImage; var setField = new EmbedFieldBuilder { Name = "Set", Value = card.setName, IsInline = true }; var rarityField = new EmbedFieldBuilder { Name = "Rarity", Value = card.rarity, IsInline = true }; var typeField = new EmbedFieldBuilder { Name = "Type", Value = card.type, }; cardEmbed.Fields.Add(setField); cardEmbed.Fields.Add(rarityField); cardEmbed.Fields.Add(typeField); if (card.loyalty != null) { //Card is probably a planeswalker var loyaltyField = new EmbedFieldBuilder { Name = "Loyalty", Value = card.loyalty.ToString(), IsInline = true, }; cardEmbed.Fields.Add(loyaltyField); } else if (!string.IsNullOrWhiteSpace(card.toughness) && !string.IsNullOrWhiteSpace(card.power)) { //card is probably some form of creature var powerField = new EmbedFieldBuilder { Name = "Power", Value = card.power, IsInline = true }; var toughnessField = new EmbedFieldBuilder { Name = "Toughness", Value = card.toughness, IsInline = true }; cardEmbed.Fields.Add(powerField); cardEmbed.Fields.Add(toughnessField); } var costField = new EmbedFieldBuilder { Name = "Cost", Value = MTG_EmoteTable.ReplaceSymbols(card.manaCost), }; var textField = new EmbedFieldBuilder { Name = "Text", Value = MTG_EmoteTable.ReplaceSymbols(card.text), }; cardEmbed.Fields.Add(costField); cardEmbed.Fields.Add(textField); cardEmbed.Color = new Color(0x68c7ce); return(cardEmbed); }