public void Add(Quotation quotation) { if (quotation == null) { throw new ArgumentNullException(nameof(quotation)); } QuotationQueue queue; if (!_list.ContainsKey(quotation.Symbol.Id)) { queue = new QuotationQueue(); if (!_list.TryAdd(quotation.Symbol.Id, queue)) { queue = _list[quotation.Symbol.Id]; } } else { queue = _list[quotation.Symbol.Id]; } var previous = Get(quotation.Symbol.Id); if (previous != null) { quotation.Direction = previous.Bid > quotation.Bid ? Direction.Down : Direction.Up; } queue.Add(quotation); }
private void ClearExpire(QuotationQueue queue) { queue.Remove(ExpireSeconds); }