Ejemplo n.º 1
0
        /// <summary>
        /// To save the board.
        /// </summary>
        /// <param name="board">Trading board.</param>
        public virtual void Save(ExchangeBoard board)
        {
            if (board == null)
            {
                throw new ArgumentNullException(nameof(board));
            }

            lock (_boards.SyncRoot)
            {
                if (!_boards.TryAdd(board.Code, board))
                {
                    return;
                }
            }

            BoardAdded?.Invoke(board);
        }
Ejemplo n.º 2
0
            void IExchangeInfoProvider.Save(ExchangeBoard board)
            {
                if (board == null)
                {
                    throw new ArgumentNullException(nameof(board));
                }

                lock (_boards.SyncRoot)
                {
                    if (!_boards.TryAdd(board.Code, board))
                    {
                        return;
                    }
                }

                BoardAdded.SafeInvoke(board);
            }
Ejemplo n.º 3
0
        /// <summary>
        /// To save the board.
        /// </summary>
        /// <param name="board">Trading board.</param>
        public void Save(ExchangeBoard board)
        {
            if (board == null)
            {
                throw new ArgumentNullException(nameof(board));
            }

            _entityRegistry.ExchangeBoards.Save(board);

            lock (_boards.SyncRoot)
            {
                if (!_boards.TryAdd(board.Code, board))
                {
                    return;
                }
            }

            BoardAdded.SafeInvoke(board);
        }
        /// <summary>
        /// To save the board.
        /// </summary>
        /// <param name="board">Trading board.</param>
        public virtual void Save(ExchangeBoard board)
        {
            if (board == null)
            {
                throw new ArgumentNullException(nameof(board));
            }

            lock (_boards.SyncRoot)
            {
                var oldBoard = _boards.TryGetValue(board.Code);

                if (ReferenceEquals(oldBoard, board))
                {
                    return;
                }

                _boards[board.Code] = board;
            }

            BoardAdded?.Invoke(board);
        }