public void Show(VotingResults votingResults, Func <Vote, bool> filter) { lock (_plotModel.SyncRoot) { _xAxis.SetAxisMinMax(TimeSpanAxis.ToDouble(votingResults.StartTime), TimeSpanAxis.ToDouble(votingResults.EndTime)); _plotModel.Series.Clear(); LineSeries series = TotalCumulativeVotedByTimeUtils.CreateSeries(votingResults, filter, out var max); series.Title = "Всего проголосовало"; _yAxis.SetAxisMax(max); _plotModel.Series.Add(series); } _plotModel.InvalidatePlot(true); }
public void Show(RemoteVotingStatistics statistics) { lock (_plotModel.SyncRoot) { _plotModel.Series.Clear(); var series1 = new LineSeries() { CanTrackerInterpolatePoints = false, Title = "Перешло на страницу голосования" }; var series2 = new LineSeries() { CanTrackerInterpolatePoints = false, Title = "Правильно ввели регистрационную СМС" }; var series3 = new LineSeries() { CanTrackerInterpolatePoints = false, Title = "Выдано бюллететеней" }; var series4 = new LineSeries() { CanTrackerInterpolatePoints = false, Title = "Проголосовало" }; _plotModel.Series.Add(series1); _plotModel.Series.Add(series2); _plotModel.Series.Add(series3); _plotModel.Series.Add(series4); foreach (var item in statistics.Statistics) { series1.Points.Add(new DataPoint(TimeSpanAxis.ToDouble(item.Time), item.ComeToRegistrationPage)); series2.Points.Add(new DataPoint(TimeSpanAxis.ToDouble(item.Time), item.ValidatedBySms)); series3.Points.Add(new DataPoint(TimeSpanAxis.ToDouble(item.Time), item.Registered)); series4.Points.Add(new DataPoint(TimeSpanAxis.ToDouble(item.Time), item.Voted)); } _xAxis.SetAxisMinMax(statistics.StartTime, statistics.EndTime); } _plotModel.InvalidatePlot(true); }