public void EnqueueUpdateDealsLog(int botID)
        {
            if (!IsNeedSendUserDealsLog(botID))
            {
                return;
            }

            var res = _dictBotIdConnId.FirstOrDefault(a => a.Key == botID);

            if (res.Key == 0)
            {
                return;               //not found
            }
            int connId = res.Value;


            CUserDealsLogUpdate udl = new CUserDealsLogUpdate();


            lock (_client.UserDealsPosBox.DictUserDealsLog)
            {
                if (_client.UserDealsPosBox.DictUserDealsLog.ContainsKey(botID))
                {
                    var userDealsLog = _client.UserDealsPosBox.DictUserDealsLog[botID];
                    foreach (var kvp in  userDealsLog)
                    {
                        udl.DictLog[kvp.Key] = new List <CUserDeal>();
                        foreach (var v in kvp.Value)
                        {
                            CUserDeal userDeal   = v;
                            string    instrument = kvp.Key;
                            //userDeal.Decimals = _client.Instruments.GetDecimals(instrument);
                            int decimals = _client.Instruments.GetDecimals(instrument);
                            userDeal.PriceSt = v.Price.ToString("N0" + decimals);
                            //userDeal.PriceSt = _client.Instruments.
                            udl.DictLog[kvp.Key].Add(userDeal);
                        }
                    }
                }
            }

            _bqTraderData.Add(new CTradingData
            {
                ConnId = connId,
                Data   = (object)udl,
                Event  = enmTradingEvent.UserUpdateDealsLog
            }
                              );



            //CUserD
        }
Beispiel #2
0
        private void ProcessUserUpdateDealsLog(byte[] arrMsgBody)
        {
            CUserDealsLogUpdate userDealsLog = CUtilProto.DeserializeProto <CUserDealsLogUpdate>(arrMsgBody);


            foreach (var kvp in userDealsLog.DictLog)
            {
                //public Dictionary<string, List<CUserDeal>> DictLog{ get; set; }
            }

            Log("[UserUpdatePosLog]");

            _childWinDataUpdater.Update(userDealsLog, _connId);
        }
 private void SendUpdateUserDealsLog(int connId, CUserDealsLogUpdate userDealsLog)
 {
     SendDataToClients(userDealsLog, enmTradingEvent.UserUpdateDealsLog, "", connId);
 }
 public void UpdateUserDealsLog(CUserDealsLogUpdate userDealsUpdate)
 {
     //_viewModelPosLog.UpdateDealsLog(userDealsUpdate);
 }