36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
namespace Backend.MarketDataRequest
|
|
{
|
|
public sealed class LiveEquityRequest
|
|
{
|
|
public int RequestId { get; init; }
|
|
public string Symbol { get; init; } = string.Empty;
|
|
|
|
public string SecType { get; init; } = "STK";
|
|
public string Exchange { get; init; } = "SMART";
|
|
public string PrimaryExchange { get; init; } = "NASDAQ";
|
|
public string Currency { get; init; } = "USD";
|
|
|
|
public bool RegulatorySnapshot { get; init; } = false;
|
|
|
|
public void Validate()
|
|
{
|
|
if (RequestId <= 0)
|
|
throw new ArgumentException("RequestId must be greater than 0.");
|
|
|
|
if (string.IsNullOrWhiteSpace(Symbol))
|
|
throw new ArgumentException("Symbol is required.");
|
|
|
|
if (string.IsNullOrWhiteSpace(SecType))
|
|
throw new ArgumentException("SecType is required.");
|
|
|
|
if (string.IsNullOrWhiteSpace(Exchange))
|
|
throw new ArgumentException("Exchange is required.");
|
|
|
|
if (string.IsNullOrWhiteSpace(PrimaryExchange))
|
|
throw new ArgumentException("PrimaryExchange is required.");
|
|
|
|
if (string.IsNullOrWhiteSpace(Currency))
|
|
throw new ArgumentException("Currency is required.");
|
|
}
|
|
}
|
|
} |