public DataModel(OBDHistoryDataModel.OBDParam item) { Item = item; TimeSpan ts = new TimeSpan(item.Time.H, item.Time.M, item.Time.S); Seconds = (int)ts.TotalSeconds; }
private void BuildData() { List <TimeModel> times = _data.Data.Select(p => p.Time).Distinct().ToList(); foreach (var item in times) { List <OBDHistoryDataModel.OBDParam> temp = _data.Data.Where(p => p.Time.H == item.H && p.Time.M == item.M && p.Time.S == item.S).ToList(); this.Dispatcher.BeginInvoke(new Action(() => { StackPanel sp = new StackPanel { Orientation = System.Windows.Controls.Orientation.Horizontal }; sp.Children.Add(new TextBlock { VerticalAlignment = System.Windows.VerticalAlignment.Center, Text = item.ToString(), Width = 100 }); foreach (var pid in _pids) { OBDHistoryDataModel.OBDParam pd = temp.Where(p => p.Code == pid).FirstOrDefault(); if (pd != null) { sp.Children.Add(new TextBlock { VerticalAlignment = System.Windows.VerticalAlignment.Center, Text = pd.Vol.ToString(), Width = 80, TextAlignment = TextAlignment.Center, Margin = new Thickness(5, 0, 5, 0) }); } else { sp.Children.Add(new Border { VerticalAlignment = System.Windows.VerticalAlignment.Center, Margin = new Thickness(5, 0, 5, 0), Width = 80 }); } } stkData.Children.Add(sp); })); Thread.Sleep(1); } }
internal void Update(OBDHistoryDataModel.OBDParam el) { Data.Add(el); }