public interface IOffExchangeService
{
CreateOffExchangeTradeResponse CreateOffExchangeTrade(CreateOffExchangeTradeRequest request);
}
public class CreateOffExchangeTradeResponse
{
public CreateOffExchangeTradeResponse();
public CreateOffExchangeOrderResponse BuyOrderResponse { get; set; }
public string ErrorMessage { get; set; }
public string ErrorMessageDetails { get; set; }
public string ReferenceId { get; set; }
public CreateOffExchangeOrderResponse SellOrderResponse { get; set; }
public bool Success { get; set; }
}
public class CreateOffExchangeOrderResponse
{
public CreateOffExchangeOrderResponse();
public int? AllocationId { get; set; }
public string ErrorMessage { get; set; }
public string ErrorMessageDetails { get; set; }
public bool Success { get; set; }
}
public class CreateOffExchangeTradeRequest
{
public CreateOffExchangeTradeRequest();
public CreateOffExchangeOrderRequest BuyOrderRequest { get; set; }
public string ReferenceId { get; set; }
public CreateOffExchangeOrderRequest SellOrderRequest { get; set; }
}
public class CreateOffExchangeOrderRequest
{
public CreateOffExchangeOrderRequest();
public int? AccountId { get; set; }
public string AccountNumber { get; set; }
public double? AllocationPrice { get; set; }
public double AverageTradePrice { get; set; }
public double? BrokerFeePercent { get; set; }
public bool BypassBackOffice { get; set; }
public string Comment { get; set; }
public double? CommissionAmount { get; set; }
public string CommissionCategory { get; set; }
public FeeType CommissionType { get; set; }
public double? CommissionValue { get; set; }
public RoutingMethod Communication { get; set; }
public MifidCategory? CustomerMifidCategory { get; set; }
public double? DirtyPrice { get; set; }
public double? EffectiveCommissionAmount { get; set; }
public double? EffectiveCommissionPercent { get; set; }
public string Email { get; set; }
public string ExternalAccountNumber { get; set; }
public string ExternalAccountSSN { get; set; }
public DateTime? ForwardExpiryDate { get; set; }
public double? ForwardInterestFee { get; set; }
public double? ForwardInterests { get; set; }
public int? ForwardSettlementAccountId { get; set; }
public int? ForwardSettlementPortfolioId { get; set; }
public bool IncludeCommissionInPrice { get; set; }
public double? IndexationAmount { get; set; }
public double? InterestAmount { get; set; }
public double? InterestDays { get; set; }
public string InternalComments { get; set; }
public bool? IsAdviceOrder { get; set; }
public bool IsForwardContract { get; set; }
public bool IsPaidInCash { get; set; }
public bool? ManualSettlement { get; set; }
public bool? MifidTestComplete { get; set; }
public int? MifidTestId { get; set; }
public int? OrderInstructionId { get; set; }
public MifidCategory? OrderMifidCategory { get; set; }
public string OrderReference { get; set; }
public string PortfolioExternalReferenceId { get; set; }
public int? PortfolioId { get; set; }
public double ProcessingFee { get; set; }
public double Quantity { get; set; }
public double? RemainingNotional { get; set; }
public int? SalespersonId { get; set; }
public bool SendEmail { get; set; }
public DateTime SettlementDate { get; set; }
public Side Side { get; set; }
public string Symbol { get; set; }
public double? TaxAmount { get; set; }
public double TotalAmount { get; set; }
public double? TotalTradeValue { get; set; }
public DateTime TradeDate { get; set; }
public int UserId { get; set; }
public string UserName { get; set; }
public double? Yield { get; set; }
}