private static void ProcessCreditLimitUpdateRequest(string[] param) { if (param.Length == 6) { TimeSpan elapsed = DateTime.Now - new DateTime(1970, 1, 1); FirmsCreditLimitUpdateRequest firmsCreditLimitUpdReq = new FirmsCreditLimitUpdateRequest() { Msg = "FirmsCreditLimitUpdateRequest", AvailableCredit = Convert.ToDouble(param[3]), UsedCredit = Convert.ToDouble(param[4]), PotentialExposure = 0, MaxNotional = Convert.ToDouble(param[5]), MaxQuantity = Convert.ToDouble(param[5]) / 7000,//We use BTC price as reference cTradingStatus = Convert.ToChar(param[2]), FirmId = param[1], Time = Convert.ToInt64(elapsed.TotalSeconds), SettlementAgentId = SettlementAgentDict.ContainsKey(param[1]) ? SettlementAgentDict[param[1]] : null, JsonWebToken = Token, Uuid = UUID }; FirmId = firmsCreditLimitUpdReq.FirmId; DoSend <FirmsCreditLimitUpdateRequest>(firmsCreditLimitUpdReq); } else { DoLog(string.Format("Missing mandatory parameters for FirmsCreditLimitUpdateRequest message")); } }
private static void ProcessEvent(WebSocketMessageV2 msg) { if (msg is ClientLoginResponse) { ClientLoginResponse loginResp = (ClientLoginResponse)msg; if (loginResp.JsonWebToken != null) { UUID = loginResp.Uuid; UserId = loginResp.UserId; Token = loginResp.JsonWebToken; FirmId = null; } ProcessJsonMessage <ClientLoginResponse>(loginResp); } else if (msg is TokenResponse) { ProcessTokenResponse(msg); } else if (msg is ClientLogout) { ClientLogout logoutResp = (ClientLogout)msg; Token = null; UserId = UserId; FirmId = null; UUID = null; ProcessJsonMessage <ClientLogout>((ClientLogout)msg); } else if (msg is ClientHeartbeat) { ClientHeartbeat heartBeat = (ClientHeartbeat)msg; ProcessJsonMessage <ClientHeartbeat>((ClientHeartbeat)msg); ProcessHeartbeat(heartBeat); } else if (msg is SubscriptionResponse) { ProcessJsonMessage <SubscriptionResponse>((SubscriptionResponse)msg); } else if (msg is ClientAccountRecord) { ProcessJsonMessage <ClientAccountRecord>((ClientAccountRecord)msg); } else if (msg is ClientLastSale) { ProcessJsonMessage <ClientLastSale>((ClientLastSale)msg); } else if (msg is FirmsTradingStatusUpdateResponse) { ProcessJsonMessage <FirmsTradingStatusUpdateResponse>((FirmsTradingStatusUpdateResponse)msg); } else if (msg is ClientBestBidOffer) { ProcessJsonMessage <ClientBestBidOffer>((ClientBestBidOffer)msg); } else if (msg is ClientMarketState) { ProcessJsonMessage <ClientMarketState>((ClientMarketState)msg); } else if (msg is ClientInstrument) { ProcessJsonMessage <ClientInstrument>((ClientInstrument)msg); } else if (msg is ClientOrderAck) { ProcessJsonMessage <ClientOrderAck>((ClientOrderAck)msg); } else if (msg is ClientOrderRej) { ProcessJsonMessage <ClientOrderRej>((ClientOrderRej)msg); } else if (msg is ClientMassCancelResponse) { ProcessJsonMessage <ClientMassCancelResponse>((ClientMassCancelResponse)msg); } else if (msg is ClientOrderReq) { ProcessJsonMessage <ClientOrderReq>((ClientOrderReq)msg); } else if (msg is ClientDSP) { ProcessJsonMessage <ClientDSP>((ClientDSP)msg); } else if (msg is FirmsListResponse) { FirmsListResponse resp = (FirmsListResponse)msg; resp.Firms.ToList().ForEach(x => SettlementAgentDict.Add(x.FirmId.ToString(), resp.SettlementAgentId)); ProcessJsonMessage <FirmsListResponse>(resp); } else if (msg is FirmsCreditLimitUpdateResponse) { ProcessJsonMessage <FirmsCreditLimitUpdateResponse>((FirmsCreditLimitUpdateResponse)msg); } else if (msg is FirmsTradingStatusUpdateResponse) { ProcessJsonMessage <FirmsTradingStatusUpdateResponse>((FirmsTradingStatusUpdateResponse)msg); } else if (msg is EmailNotificationsListResponse) { ProcessJsonMessage <EmailNotificationsListResponse>((EmailNotificationsListResponse)msg); } else if (msg is EmailNotificationsCreateResponse) { ProcessJsonMessage <EmailNotificationsCreateResponse>((EmailNotificationsCreateResponse)msg); } else if (msg is EmailNotificationsUpdateResponse) { ProcessJsonMessage <EmailNotificationsUpdateResponse>((EmailNotificationsUpdateResponse)msg); } else if (msg is EmailNotificationsDeleteResponse) { ProcessJsonMessage <EmailNotificationsDeleteResponse>((EmailNotificationsDeleteResponse)msg); } else if (msg is UnknownMessageV2) { UnknownMessageV2 unknownMsg = (UnknownMessageV2)msg; DoLog(string.Format("<<unknown {0}", unknownMsg.Resp)); } else if (msg is ErrorMessageV2) { ErrorMessageV2 errorMsg = (ErrorMessageV2)msg; DoLog(string.Format("<<unknown {0}", errorMsg.Error)); } else { DoLog(string.Format("<<Unknown message type {0}", msg.ToString())); } Console.WriteLine(); }