public MetricReportResultForm(MetricReport report) { InitializeComponent(); this.report = report; fromDateBox.Text = report.fromDate.ToShortDateString(); toDateBox.Text = report.toDate.ToShortDateString(); Color[] colors = new Color[] {Color.Red, Color.Blue, Color.Green, Color.Violet, Color.Cyan}; int i = 0; foreach (var record in report.data) { var metric = record.Key; var values = record.Value; var series = chart.Series.Add(metric.Name); series.BorderWidth = 2; series.ChartArea = chart.ChartAreas[0].Name; series.ChartType = SeriesChartType.Line; series.IsValueShownAsLabel = true; series.MarkerStyle = MarkerStyle.Circle; series.Color = colors[i]; i = (i + 1) % colors.Count(); foreach (var value in values) series.Points.AddXY(value.Date, value.Value); foreach (DataPoint p in series.Points) { p.MarkerStyle = MarkerStyle.Circle; p.MarkerSize = 5; } } }
private void Emeter_Updated(EMeter obj) { var metric = new Metric(config.Host, config.Alias, emeter.Voltage, emeter.Current, emeter.Power, emeter.TotalPower); MetricReport?.BeginInvoke(metric, null, null); }