private void UpDatePosition(PositionOnBoard position) { lock (_lockerUpDatePosition) { Portfolio myPortfolio = null; if (_portfolios != null) { myPortfolio = _portfolios.Find(portfolio => portfolio.Number.Split('@')[0] == position.PortfolioName); } if (myPortfolio == null) { PositionOnBoardSander sender = new PositionOnBoardSander(); sender.PositionOnBoard = position; sender.TimeSendPortfolio += UpDatePosition; Thread worker = new Thread(sender.Go); worker.IsBackground = true; worker.CurrentCulture = new CultureInfo("ru-RU"); worker.Start(); return; } myPortfolio.SetNewPosition(position); if (UpdatePortfolios != null) { UpdatePortfolios(_portfolios); } } }
private void PlazaControllerOnUpdatePosition(PositionOnBoard positionOnBoard) { lock (_lockerUpdatePosition) { // write in the security name right description, becaus before in this line some ID / забиваем в название инструмента правдивое описание, т.к. до этого в этой строке некий ID Security security = null; if (_securities != null) { security = _securities.Find(security1 => security1.NameId == positionOnBoard.SecurityNameCode || security1.Name == positionOnBoard.SecurityNameCode); } if (security == null) { PositionOnBoardSander sender = new PositionOnBoardSander(); sender.PositionOnBoard = positionOnBoard; sender.TimeSendPortfolio += PlazaControllerOnUpdatePosition; Thread worker = new Thread(sender.Go); worker.CurrentCulture = new CultureInfo("ru-RU"); worker.IsBackground = true; worker.Start(); return; } positionOnBoard.SecurityNameCode = security.Name; Portfolio myPortfolio = null; if (_portfolios != null) { myPortfolio = _portfolios.Find(portfolio => portfolio.Number == positionOnBoard.PortfolioName); } if (myPortfolio == null) { PositionOnBoardSander sender = new PositionOnBoardSander(); sender.PositionOnBoard = positionOnBoard; sender.TimeSendPortfolio += PlazaControllerOnUpdatePosition; Thread worker = new Thread(sender.Go); worker.CurrentCulture = new CultureInfo("ru-RU"); worker.IsBackground = true; worker.Start(); return; } myPortfolio.SetNewPosition(positionOnBoard); if (PortfolioEvent != null) { PortfolioEvent(_portfolios); } } }