constellation-api/CH.CryptoStats.CoinMarketCap/CoinMarketCapEntity.cs

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