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