/// <summary>
        /// Updates historical log of user positions
        ///
        /// Trigger update for GUI, Database and
        ///  client classB (which transmit to traderdipatcher, and
        ///  then to clients)
        /// Call from UserDealsPosBox
        ///
        /// this.CalculateBotsPos
        ///
        /// </summary>
        /// <param name="botId"></param>
        /// <param name="instrument"></param>
        /// <param name="bp"></param>
        /// <param name="rd"></param>
        public void UpdateUserPosLog(int botId, string instrument, CBotPos bp, CRawUserDeal rd)
        {
            try
            {
                CBotPos botPos = (CBotPos)bp.Copy();

                DicBotPosLog.Update(botId, instrument, botPos);



                UserDealsPosBoxClient.GUIBotUpdatePosLog(botPos, botId);
                UserDealsPosBoxClient.UpdateTradersPosLog(botId);



                //  UpdateLatestBotPos(botId, instrument, bp);



                UserDealsPosBoxClient.UpdateDBPosLog(botId,
                                                     UserDealsPosBoxClient.StockExchId,
                                                     instrument,
                                                     (CBotPos)bp.Copy());
            }
            catch (Exception e)
            {
                Error("UpdateUserPosLog(", e);
            }
        }
Beispiel #2
0
        public void UpdateMonitorPos(string isin, CBotPos pos)
        {
            if (pos.Amount == 0)
            {
                m_plaza2Connector.GUIBox.ExecuteWindowsUpdate(new Action(() =>
                                                                         MonitorPos.RemoveWithId(isin)
                                                                         ));
            }
            else
            {
                m_plaza2Connector.GUIBox.ExecuteWindowsUpdate(new Action(() =>
                                                                         MonitorPos.UpdateWithId(new MonitorPosInst(isin, (CBotPos)pos.Copy(), GetPriceFormat(isin)))
                                                                         ));
            }



            if (m_plaza2Connector.IsOnlineUserDeals && !m_plaza2Connector.GUIBox.IsOnlineUserDealsDelayed)
            {
                m_plaza2Connector.GUIBox.ExecuteWindowsUpdate(new Action(() =>
                                                                         m_plaza2Connector.GUIBox.IsOnlineUserDealsDelayed = true));
            }
        }