public static IBSocket SendPrimaryExchange(this IBSocket socket, SecurityMessage security) { if (security == null) throw new ArgumentNullException("security"); if (socket.ServerVersion < ServerVersions.V14) return socket; return socket.SendBoardCode(security.GetRoutingBoard()); }
public static IBSocket SendSecurity(this IBSocket socket, SecurityMessage security, bool sendPrimExchange = true, bool sendPrimExchange2 = true) { if (security == null) throw new ArgumentNullException("security"); var multiplier = security.Multiplier; socket .Send(security.Name) .SendSecurityType(security.SecurityType) .Send(security.ExpiryDate, _expiryFormat) .Send(security.Strike) .SendOptionType(security.OptionType) .SendIf(ServerVersions.V15, s => s.Send(multiplier == 1 ? string.Empty : multiplier.To<string>())) .SendBoardCode(security.SecurityId.BoardCode); if (sendPrimExchange2) { socket.Send(security.SecurityId.BoardCode); socket.Send(security.GetRoutingBoard()); } else if (sendPrimExchange) socket.SendPrimaryExchange(security); return socket .SendCurrency(security.Currency) .SendSecurityCode(security.SecurityId.SecurityCode); }