private void DoWork(object param) { bool _result = false; CollectorThreadParams _params = param as CollectorThreadParams; if (_params != null) { _params.Collector.CurrentMovie = this.CurrentMovie; DateTime _start = DateTime.UtcNow; try { _result = _params.Collector.GetResults(_params.Keywords, _params.ImdbId, _params.SkipImages); } finally { DateTime _end = DateTime.UtcNow; TimeSpan _ts = TimeSpan.FromMilliseconds((_end - _start).TotalMilliseconds); _params.Collector.SearchTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", _ts.Hours, _ts.Minutes, _ts.Seconds, _ts.Milliseconds / 10); Loggy.Logger.Debug("Collector: {0} Search time: {1}", _params.Collector.CollectorName, _params.Collector.SearchTime.ToString()); } } if (_params.Collector != null) { lock (m_LockMe) { ResultsList.AddRange(_params.Collector.ResultsList); } } if (_params.Event != null) { _params.Event.Set(); } }