public TimeDurationView() { InitializeComponent(); DataContext = new TimeDurationViewModel(); _resultRuntimes = new List<double>(); _cumulativeRuntimeChart = new Chart(); _cumulativeRuntimeChart.ChartAreas.Add("chtArea"); CumulativeGraphControlHost.Child = _cumulativeRuntimeChart; _cumulativeRuntimeChart.ChartAreas[0].AxisX.Title = "Runs"; _cumulativeRuntimeChart.ChartAreas[0].AxisX.TitleFont = new Font( System.Drawing.FontFamily.GenericSansSerif, 12); _cumulativeRuntimeChart.ChartAreas[0].AxisY.Title = "Runtime (Milliseconds)"; _cumulativeRuntimeChart.ChartAreas[0].AxisY.TitleFont = new Font( System.Drawing.FontFamily.GenericSansSerif, 12); _cumulativeRuntimeChart.BackColor = Color.White; _cumulativeRuntimeChart.BorderSkin.SkinStyle = BorderSkinStyle.None; _individualRuntimeChart = new Chart(); _individualRuntimeChart.ChartAreas.Add("chtArea"); IndividualGraphControlHost.Child = _individualRuntimeChart; _individualRuntimeChart.ChartAreas[0].AxisX.Title = "Runs"; _individualRuntimeChart.ChartAreas[0].AxisX.TitleFont = new Font( System.Drawing.FontFamily.GenericSansSerif, 12); _individualRuntimeChart.ChartAreas[0].AxisY.Title = "Runtime (Milliseconds)"; _individualRuntimeChart.ChartAreas[0].AxisY.TitleFont = new Font( System.Drawing.FontFamily.GenericSansSerif, 12); _individualRuntimeChart.BackColor = Color.White; _individualRuntimeChart.BorderSkin.SkinStyle = BorderSkinStyle.None; }
private void LoadUrls_OnClick(object sender, RoutedEventArgs e) { var durationViewModel = DataContext as TimeDurationViewModel; if (durationViewModel == null) DataContext = new TimeDurationViewModel(); var dialog = new OpenFileDialog { InitialDirectory = AppDomain.CurrentDomain.BaseDirectory }; if (dialog.ShowDialog() != true) return; using (var fs = File.OpenRead(dialog.FileName)) { using (TextReader reader = new StreamReader(fs)) { while (reader.Peek() >= 0) { (DataContext as TimeDurationViewModel).Urls.Add(reader.ReadLine()); } } } //var vms = (from url in (DataContext as TimeDurationViewModel).Urls where (DataContext as TimeDurationViewModel).Summaries.All(x => x.Request != url) select new StatSummaryViewModel(url, new List<TimeSpan>())).ToList(); var vms = (DataContext as TimeDurationViewModel).Urls.ToList(); foreach (var item in vms) (DataContext as TimeDurationViewModel).Summaries.Add(new StatSummaryViewModel(item, new List<TimeSpan>())); var index = 0; _cumulativeRuntimeChart.Series.Clear(); _cumulativeRuntimeChart.Legends.Clear(); foreach (var url in durationViewModel.Urls) { _individualRuntimeChart.Legends.Add(url); _individualRuntimeChart.Series.Add(url); _individualRuntimeChart.Series[index].ChartType = SeriesChartType.Line; _individualRuntimeChart.Legends[index].LegendStyle = LegendStyle.Table; _individualRuntimeChart.Legends[index].TableStyle = LegendTableStyle.Tall; _individualRuntimeChart.Legends[index].Docking = Docking.Bottom; _cumulativeRuntimeChart.Legends.Add(url); _cumulativeRuntimeChart.Series.Add(url); _cumulativeRuntimeChart.Series[index].ChartType = SeriesChartType.Line; _cumulativeRuntimeChart.Legends[index].LegendStyle = LegendStyle.Table; _cumulativeRuntimeChart.Legends[index].TableStyle = LegendTableStyle.Tall; _cumulativeRuntimeChart.Legends[index].Docking = Docking.Bottom; index++; } }
private void LoadQueries_OnClick(object sender, RoutedEventArgs e) { var timeDurationViewModel = DataContext as TimeDurationViewModel; if (timeDurationViewModel == null) DataContext = new TimeDurationViewModel(); (DataContext as TimeDurationViewModel).Queries.Clear(); var dialog = new OpenFileDialog { InitialDirectory = AppDomain.CurrentDomain.BaseDirectory }; if (dialog.ShowDialog() != true) return; using (var fs = File.OpenRead(dialog.FileName)) { using (TextReader reader = new StreamReader(fs)) { while (reader.Peek() >= 0) (DataContext as TimeDurationViewModel).Queries.Add(reader.ReadLine()); } } }