1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-11 16:32:57 +00:00

Added DebuggerDisplay attributes to Shared models

This commit is contained in:
Jkorf
2026-07-14 09:59:02 +02:00
parent 38a7b981ce
commit ecd00ea707
21 changed files with 100 additions and 6 deletions
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Asset info /// Asset info
/// </summary> /// </summary>
[DebuggerDisplay("{Name,nq} - {Networks.Length} network(s)")]
public record SharedAsset public record SharedAsset
{ {
/// <summary> /// <summary>
@@ -32,6 +34,7 @@ namespace CryptoExchange.Net.SharedApis
/// <summary> /// <summary>
/// Asset network info /// Asset network info
/// </summary> /// </summary>
[DebuggerDisplay("{Name,nq}")]
public record SharedAssetNetwork public record SharedAssetNetwork
{ {
/// <summary> /// <summary>
@@ -1,8 +1,11 @@
namespace CryptoExchange.Net.SharedApis using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Balance info /// Balance info
/// </summary> /// </summary>
[DebuggerDisplay("{Available} {Asset, nq}")]
public record SharedBalance public record SharedBalance
{ {
/// <summary> /// <summary>
@@ -1,8 +1,11 @@
namespace CryptoExchange.Net.SharedApis using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Book ticker /// Book ticker
/// </summary> /// </summary>
[DebuggerDisplay("{Symbol,nq} - {BestBidPrice} / {BestAskPrice}")]
public record SharedBookTicker : SharedSymbolModel public record SharedBookTicker : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Deposit info /// Deposit info
/// </summary> /// </summary>
[DebuggerDisplay("[{Timestamp}] {Quantity} {Asset,nq}")]
public record SharedDeposit public record SharedDeposit
{ {
/// <summary> /// <summary>
@@ -1,8 +1,11 @@
namespace CryptoExchange.Net.SharedApis using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Deposit address info /// Deposit address info
/// </summary> /// </summary>
[DebuggerDisplay("{Asset,nq} - {Address,nq}")]
public record SharedDepositAddress public record SharedDepositAddress
{ {
/// <summary> /// <summary>
@@ -1,8 +1,11 @@
namespace CryptoExchange.Net.SharedApis using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Trading fee info /// Trading fee info
/// </summary> /// </summary>
[DebuggerDisplay("{MakerFee} / {TakerFee}")]
public record SharedFee public record SharedFee
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Funding rate /// Funding rate
/// </summary> /// </summary>
[DebuggerDisplay("[{Timestamp}] {FundingRate}")]
public record SharedFundingRate public record SharedFundingRate
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Mark/index price kline /// Mark/index price kline
/// </summary> /// </summary>
[DebuggerDisplay("[{OpenTime}] O: {OpenPrice} H: {HighPrice} L: {LowPrice} C: {ClosePrice}")]
public record SharedFuturesKline : SharedSymbolModel public record SharedFuturesKline : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,12 +1,19 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Futures order info /// Futures order info
/// </summary> /// </summary>
[DebuggerDisplay("{DebugView,nq}")]
public record SharedFuturesOrder : SharedSymbolModel public record SharedFuturesOrder : SharedSymbolModel
{ {
private string DebugView =>
$"[{CreateTime}] {OrderId} {(PositionSide != null ? $"{PositionSide} " : "")}{Symbol} - " +
$"{OrderType} {Side} {OrderQuantity}{(OrderPrice != null ? " @ " + OrderPrice : "")}, " +
$"{Status}{(QuantityFilled != null && Status != SharedOrderStatus.Canceled ? $" {QuantityFilled}" : "")}{(AveragePrice != null ? " @ " + AveragePrice : "")}";
/// <summary> /// <summary>
/// Id of the order /// Id of the order
/// </summary> /// </summary>
@@ -1,12 +1,17 @@
using System; using System;
using System.Diagnostics;
using System.Drawing;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Futures symbol info /// Futures symbol info
/// </summary> /// </summary>
[DebuggerDisplay("{DebugView,nq}")]
public record SharedFuturesSymbol : SharedSpotSymbol public record SharedFuturesSymbol : SharedSpotSymbol
{ {
private string DebugView => $"{TradingMode} {Name}{(DeliveryTime != null ? $" Delivery: {DeliveryTime:yyyy-MM-dd}": "")}";
/// <summary> /// <summary>
/// The size of a single contract /// The size of a single contract
/// </summary> /// </summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Futures ticker info /// Futures ticker info
/// </summary> /// </summary>
[DebuggerDisplay("{Symbol,nq} High: {HighPrice}, Low: {LowPrice}, Last: {LastPrice}, Change: {ChangePercentage}%")]
public record SharedFuturesTicker: SharedSymbolModel public record SharedFuturesTicker: SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Kline info /// Kline info
/// </summary> /// </summary>
[DebuggerDisplay("[{OpenTime}] O: {OpenPrice} H: {HighPrice} L: {LowPrice} C: {ClosePrice} V: {Volume}")]
public record SharedKline : SharedSymbolModel public record SharedKline : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Position info /// Position info
/// </summary> /// </summary>
[DebuggerDisplay("{Symbol,nq} {PositionSide}: {PositionSize} {AverageOpenPrice}")]
public record SharedPosition : SharedSymbolModel public record SharedPosition : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Position history /// Position history
/// </summary> /// </summary>
[DebuggerDisplay("[{Timestamp}] {Symbol,nq} {PositionSide}: {RealizedPnl}")]
public record SharedPositionHistory : SharedSymbolModel public record SharedPositionHistory : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,12 +1,19 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Spot order info /// Spot order info
/// </summary> /// </summary>
[DebuggerDisplay("{DebugView,nq}")]
public record SharedSpotOrder : SharedSymbolModel public record SharedSpotOrder : SharedSymbolModel
{ {
private string DebugView =>
$"[{CreateTime}] {OrderId} {Symbol} - " +
$"{OrderType} {Side} {OrderQuantity}{(OrderPrice != null ? " @ " + OrderPrice : "")}, " +
$"{Status}{(QuantityFilled != null && Status != SharedOrderStatus.Canceled ? $" {QuantityFilled}" : "")}{(AveragePrice != null ? " @ " + AveragePrice : "")}";
/// <summary> /// <summary>
/// The id of the order /// The id of the order
/// </summary> /// </summary>
@@ -1,8 +1,11 @@
namespace CryptoExchange.Net.SharedApis using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Symbol info /// Symbol info
/// </summary> /// </summary>
[DebuggerDisplay("{TradingMode} {Name,nq}")]
public record SharedSpotSymbol public record SharedSpotSymbol
{ {
/// <summary> /// <summary>
@@ -1,8 +1,11 @@
namespace CryptoExchange.Net.SharedApis using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Ticker info /// Ticker info
/// </summary> /// </summary>
[DebuggerDisplay("{Symbol,nq} High: {HighPrice}, Low: {LowPrice}, Last: {LastPrice}, Change: {ChangePercentage}%")]
public record SharedSpotTicker: SharedSymbolModel public record SharedSpotTicker: SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// Public trade info /// Public trade info
/// </summary> /// </summary>
[DebuggerDisplay("[{Timestamp}] {Symbol,nq} {Side.ToString(),nq} {Quantity} @ {Price}")]
public record SharedTrade : SharedSymbolModel public record SharedTrade : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// A user trade /// A user trade
/// </summary> /// </summary>
[DebuggerDisplay("[{Timestamp}] {Id,nq} {Symbol,nq} {Side.ToString(),nq} {Quantity} @ {Price}")]
public record SharedUserTrade : SharedSymbolModel public record SharedUserTrade : SharedSymbolModel
{ {
/// <summary> /// <summary>
@@ -1,10 +1,12 @@
using System; using System;
using System.Diagnostics;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
{ {
/// <summary> /// <summary>
/// A withdrawal record /// A withdrawal record
/// </summary> /// </summary>
[DebuggerDisplay("[{Timestamp}] {Quantity} {Asset,nq}")]
public record SharedWithdrawal public record SharedWithdrawal
{ {
/// <summary> /// <summary>
@@ -1,4 +1,5 @@
using CryptoExchange.Net.Converters.SystemTextJson; using CryptoExchange.Net.Converters.SystemTextJson;
using System.Text;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
namespace CryptoExchange.Net.SharedApis namespace CryptoExchange.Net.SharedApis
@@ -35,6 +36,33 @@ namespace CryptoExchange.Net.SharedApis
QuantityInQuoteAsset = quoteAssetQuantity; QuantityInQuoteAsset = quoteAssetQuantity;
QuantityInContracts = contractQuantity; QuantityInContracts = contractQuantity;
} }
/// <inheritdoc />
public override string ToString()
{
var sb = new StringBuilder("[");
if (QuantityInBaseAsset != null)
sb.Append($"{QuantityInBaseAsset} base");
if (QuantityInQuoteAsset != null)
{
if (sb.Length > 1)
sb.Append(", ");
sb.Append($"{QuantityInQuoteAsset} quote");
}
if (QuantityInContracts != null)
{
if (sb.Length > 1)
sb.Append(", ");
sb.Append($"{QuantityInContracts} contracts");
}
sb.Append("]");
return sb.ToString();
}
} }
/// <summary> /// <summary>
@@ -53,6 +81,9 @@ namespace CryptoExchange.Net.SharedApis
/// </summary> /// </summary>
public SharedQuantity() : base(null, null, null) { } public SharedQuantity() : base(null, null, null) { }
/// <inheritdoc />
public override string ToString() => base.ToString();
/// <summary> /// <summary>
/// Specify quantity in base asset /// Specify quantity in base asset
/// </summary> /// </summary>
@@ -123,5 +154,8 @@ namespace CryptoExchange.Net.SharedApis
: base(baseAssetQuantity, quoteAssetQuantity, contractQuantity) : base(baseAssetQuantity, quoteAssetQuantity, contractQuantity)
{ {
} }
/// <inheritdoc />
public override string ToString() => base.ToString();
} }
} }