56 lines
1.6 KiB
C#
56 lines
1.6 KiB
C#
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<string, CoinMarketCapEntity> 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; }
|
|
} |