public ActionResult IndexPost() { var random = new Random(); var viewModel = new ComparisonViewModel(null); TryUpdateModel(viewModel); Series[] series; if (!viewModel.AllIndexes) { series = new[] { this.GetSeries(viewModel.Query, viewModel.FirstIndex, random, viewModel.NumberOfQueries, viewModel.Data), this.GetSeries(viewModel.Query, viewModel.SecondIndex, random, viewModel.NumberOfQueries, viewModel.Data), }; } else { series = Enum.GetValues(typeof(IndexEnum)).OfType<IndexEnum>() .Select(t => this.GetSeries(viewModel.Query, t, random, viewModel.NumberOfQueries, viewModel.Data)).ToArray(); } DotNet.Highcharts.Highcharts chart = this.GetChart(series, viewModel.Data); viewModel.Chart = chart; var report = (Session["report"] as List<ReportViewModel>) ?? new List<ReportViewModel>(); report.Add(new ReportViewModel(viewModel, series)); Session["report"] = report; return View(viewModel); }
public ReportViewModel(ComparisonViewModel viewModel, Series[] series) { Data = viewModel.Data; Query = viewModel.Query; Results = new List<TestResult>(); foreach (var s in series) { var index = (IndexEnum)Enum.Parse(typeof(IndexEnum), s.Name); for(int i = 0; i < s.Data.ArrayData.Length; i++) { var size = DataSizeEnum.None; if (Data != DataEnum.countries) size = (DataSizeEnum)Enum.GetValues(typeof(DataSizeEnum)).GetValue(i+1); Results.Add(new TestResult { Result = (double)s.Data.ArrayData[i], Index = index, DataSize = size }); } } }
public ReportViewModel(ComparisonViewModel viewModel, Series[] series) { Data = viewModel.Data; Query = viewModel.Query; Results = new List <TestResult>(); foreach (var s in series) { var index = (IndexEnum)Enum.Parse(typeof(IndexEnum), s.Name); for (int i = 0; i < s.Data.ArrayData.Length; i++) { var size = DataSizeEnum.None; if (Data != DataEnum.countries) { size = (DataSizeEnum)Enum.GetValues(typeof(DataSizeEnum)).GetValue(i + 1); } Results.Add(new TestResult { Result = (double)s.Data.ArrayData[i], Index = index, DataSize = size }); } } }