internal void Update(OBDHistoryDataModel model) { var slowTask = new Task(delegate { for (var i = 0; i < RowsList.Count; i++) { var item = RowsList[i]; var next = i + 1 < RowsList.Count ? RowsList[i + 1].Date : DateTime.Now; var dt = new DateTime(item.Date.Year, item.Date.Month, item.Date.Day); var list = model.Data.Where(o => dt + o.Time.ToTimeSpan() >= item.Date && dt + o.Time.ToTimeSpan() < next); foreach (var el in list) { item.Update(el); } } }); slowTask.ContinueWith(delegate { if (_dispatcher != null) { _dispatcher.BeginInvoke(new Action(() => { ListHistoryRows.Refresh(); })); } }); slowTask.Start(); }
internal void Update(LoadedHistoryRows value) { RowsList.Clear(); var slowTask = new Task(delegate { if (value == null) { return; } foreach (var item in value.Data) { RowsList.Add(new HistoryRow(item)); } }); slowTask.ContinueWith(delegate { DispatherThreadRun(delegate { ListHistoryRows.Refresh(); }); }); slowTask.Start(); }