/// <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); }
/// <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); }