using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json.Serialization; using System.Threading.Tasks; namespace CH.CryptoStats.CoinMarketCap; public class CoinMarketCapEntity { [JsonPropertyName("id")] public int Id { get; set; } [JsonPropertyName("name")] public required string Name { get; set; } [JsonPropertyName("symbol")] public required string Symbol { get; set; } [JsonPropertyName("max_supply")] public int MaxSupply { get; set; } [JsonPropertyName("circulating_supply")] public int CirculatingSupply { get; set; } [JsonPropertyName("total_supply")] public int TotalSupply { get; set; } [JsonPropertyName("last_updated")] public required string LastUpdated { get; set; } [JsonPropertyName("quote")] public required Quote Quote { get; set; } } public class ApiResponse { [JsonPropertyName("data")] public required Dictionary Data { get; set; } } public class Quote { [JsonPropertyName("CAD")] public CurrencyValue? CAD { get; set; } [JsonPropertyName("USD")] public CurrencyValue? USD { get; set; } } public class CurrencyValue { [JsonPropertyName("price")] public decimal Price { get; set; } [JsonPropertyName("volume_24h")] public decimal Volume24H { get; set; } [JsonPropertyName("volume_change_24h")] public decimal VolumeChange24H { get; set; } [JsonPropertyName("market_cap")] public decimal MarketCap { get; set; } [JsonPropertyName("market_cap_dominance")] public decimal MarketCapDominance { get; set; } [JsonPropertyName("fully_diluted_market_cap")] public decimal FullyDilutedMarketCap { get; set; } }