private void LateUpdPoslog(CUserPosLogUpdLate userPosLogUpd) { //object el = _actualLog[userPosLogUpd.Instrument].First(); object res = _lstModelActLog.Find(el => el.Instrument == userPosLogUpd.Instrument); if (res != null) { //tempo for debug, remove try { if (res is ModelDataLog <CUserPosLog> ) { ModelDataLog <CUserPosLog> upl = (ModelDataLog <CUserPosLog>)res; CUserPosLog userPoslogAct = upl.DataLog.First(); userPoslogAct.Fee = userPosLogUpd.Fee; userPoslogAct.VMClosed_RUB = userPosLogUpd.VMClosed_RUB; } } catch (Exception e) { System.Threading.Thread.Sleep(0); throw e; } } }
private void ProcessUserUpdPosLogLate(byte[] arrMsgBody) { CUserPosLogUpdLate userPosUpdLate = CUtilProto.DeserializeProto <CUserPosLogUpdLate>(arrMsgBody); Log("[CUserPosLogUpdLate]"); _childWinDataUpdater.Update(userPosUpdLate, _connId); }
public void EnqueueUpdateUserPosLogLate(int botId, CUserPosLogUpdLate userPosLogUpdLate) { int connId = -1; if (!_dictBotIdConnId.TryGetValue(botId, out connId)) { return; } _bqTraderData.Add(new CTradingData { ConnId = connId, Data = (object)userPosLogUpdLate, Event = enmTradingEvent.UpdateUserPosLogLate }); }
public override void UpdateData(object data, int conId) { //for normal PosLog update, by default do use base class method if (data is TDataLogUpdate) { base.UpdateData(data, conId); } //for "late" fee update (for bitfinex) use specific algo else if (data is CUserPosLogUpdLate) { CUserPosLogUpdLate userPosLogUpd = (CUserPosLogUpdLate)data; var res = _lstModelActLog.Find(el => el.Instrument == userPosLogUpd.Instrument && el.ConId == conId); if (res != null) { if (res.DataLog.Count > 0) //if (_actualLog.ContainsKey(userPosLogUpd.Instrument)) // if (_actualLog[userPosLogUpd.Instrument].Count>0) { if (_windowDataGrid != null)//non-opened window { _windowDataGrid.GUIDispatcher.Invoke (new Action(() => { LateUpdPoslog(userPosLogUpd); } )); } else//opened window { LateUpdPoslog(userPosLogUpd); } BindDataLog(userPosLogUpd.Instrument); } } } }
private void SendUpdateUserPosLogLate(int connId, CUserPosLogUpdLate userPosLogUpdLate) { SendDataToClients(userPosLogUpdLate, enmTradingEvent.UpdateUserPosLogLate, "", connId); }