SoftTraderBackend/MarketDataRequest/FundamentalsEquityRequest.cs
2026-03-20 10:42:48 -04:00

36 lines
1.1 KiB
C#

namespace Backend.MarketDataRequest
{
public sealed class FundamentalsEquityRequest
{
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.");
}
}
}