public ActionResult ChartYtd(ViewModels.PmsSummary.ChartViewModel viewModel) { var kpi = _kpiService.GetKpi(new GetKpiRequest { Id = viewModel.Id }); if (kpi.YtdFormula == YtdFormula.Sum) { var artifactDesignerViewModel = new ArtifactDesignerViewModel(); artifactDesignerViewModel.BarChart = new BarChartViewModel(); var previewViewModel = new ArtifactPreviewViewModel(); artifactDesignerViewModel.BarChart.Series.Add(new BarChartViewModel.SeriesViewModel { KpiId = viewModel.Id, Label = "Achievement", ValueAxis = ValueAxis.KpiActual.ToString() }); var request = new GetCartesianChartDataRequest(); request.GraphicName = "Year To Date"; request.GraphicType = "barachievement"; request.HeaderTitle = "Year To Date"; request.MeasurementId = viewModel.MeasurementId; request.PeriodeType = PeriodeType.Monthly; request.RangeFilter = RangeFilter.YTD; request.Start = new DateTime(viewModel.Year, 1, 1); request.End = new DateTime(viewModel.Year, 12, 1); request.ValueAxis = ValueAxis.KpiActual; artifactDesignerViewModel.BarChart.MapPropertiesToInstance <GetCartesianChartDataRequest>(request); var chartData = _artifactService.GetChartData(request); previewViewModel.GraphicType = "barachievement"; previewViewModel.BarChart = new BarChartDataViewModel(); previewViewModel.BarChart.Title = "Year To Date"; previewViewModel.BarChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.BarChart.Series = chartData.Series.MapTo <BarChartDataViewModel.SeriesViewModel>(); previewViewModel.BarChart.Periodes = chartData.Periodes; previewViewModel.BarChart.SeriesType = chartData.SeriesType; previewViewModel.PeriodeType = "Monthly"; previewViewModel.TimePeriodes = chartData.TimePeriodes; return(Json(previewViewModel, JsonRequestBehavior.AllowGet)); } return(Content("KPI's Year To Date formula is not SUM type")); }
public ActionResult ChartYearly(ViewModels.PmsSummary.ChartViewModel viewModel) { var artifactDesignerViewModel = new ArtifactDesignerViewModel(); artifactDesignerViewModel.BarChart = new BarChartViewModel(); var previewViewModel = new ArtifactPreviewViewModel(); artifactDesignerViewModel.BarChart.Series.Add(new BarChartViewModel.SeriesViewModel { KpiId = viewModel.Id, Label = "Achievement", ValueAxis = ValueAxis.KpiActual.ToString() }); var request = new GetCartesianChartDataRequest(); request.GraphicName = "Yearly"; request.GraphicType = "barachievement"; request.HeaderTitle = "Yearly"; request.MeasurementId = viewModel.MeasurementId; request.PeriodeType = PeriodeType.Yearly; request.RangeFilter = RangeFilter.CurrentYear; request.ValueAxis = ValueAxis.KpiActual; artifactDesignerViewModel.BarChart.MapPropertiesToInstance <GetCartesianChartDataRequest>(request); var chartData = _artifactService.GetChartData(request); previewViewModel.GraphicType = "barachievement"; previewViewModel.BarChart = new BarChartDataViewModel(); previewViewModel.BarChart.Title = "Yearly"; previewViewModel.BarChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.BarChart.Series = chartData.Series.MapTo <BarChartDataViewModel.SeriesViewModel>(); previewViewModel.BarChart.Periodes = chartData.Periodes; previewViewModel.BarChart.SeriesType = chartData.SeriesType; previewViewModel.PeriodeType = "Monthly"; previewViewModel.TimePeriodes = chartData.TimePeriodes; return(Json(previewViewModel, JsonRequestBehavior.AllowGet)); }
public ActionResult View(int id, string secretNumber) { var artifactResp = _artifactService.GetArtifact(new GetArtifactRequest { Id = id }); var previewViewModel = new ArtifactPreviewViewModel(); previewViewModel.FractionScale = artifactResp.FractionScale; previewViewModel.MaxFractionScale = artifactResp.MaxFractionScale; switch (artifactResp.GraphicType) { case "line": { var chartData = _artifactService.GetChartData(artifactResp.MapTo <GetCartesianChartDataRequest>()); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = artifactResp.PeriodeType }); previewViewModel.PeriodeType = artifactResp.PeriodeType.ToString(); previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.Highlights = reportHighlights.Highlights.MapTo <ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.LineChart = new LineChartDataViewModel(); previewViewModel.LineChart.Title = artifactResp.HeaderTitle; previewViewModel.LineChart.Subtitle = chartData.Subtitle; previewViewModel.LineChart.ValueAxisTitle = artifactResp.Measurement; previewViewModel.LineChart.Series = chartData.Series.MapTo <LineChartDataViewModel.SeriesViewModel>(); previewViewModel.LineChart.Periodes = chartData.Periodes; } break; case "area": { var chartData = _artifactService.GetChartData(artifactResp.MapTo <GetCartesianChartDataRequest>()); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = artifactResp.PeriodeType }); previewViewModel.PeriodeType = artifactResp.PeriodeType.ToString(); previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo <ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.AreaChart = new AreaChartDataViewModel(); previewViewModel.AreaChart.Title = artifactResp.HeaderTitle; previewViewModel.AreaChart.Subtitle = chartData.Subtitle; previewViewModel.AreaChart.ValueAxisTitle = artifactResp.Measurement; previewViewModel.AreaChart.Series = chartData.Series.MapTo <AreaChartDataViewModel.SeriesViewModel>(); previewViewModel.AreaChart.Periodes = chartData.Periodes; } break; case "multiaxis": { var chartData = _artifactService.GetMultiaxisChartData(artifactResp.MapTo <GetMultiaxisChartDataRequest>()); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = artifactResp.PeriodeType }); previewViewModel.PeriodeType = artifactResp.PeriodeType.ToString(); previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo <ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.MultiaxisChart = chartData.MapTo <MultiaxisChartDataViewModel>(); previewViewModel.MultiaxisChart.Title = artifactResp.HeaderTitle; } break; case "combo": { var chartData = _artifactService.GetComboChartData(artifactResp.MapTo <GetComboChartDataRequest>()); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = artifactResp.PeriodeType }); previewViewModel.PeriodeType = artifactResp.PeriodeType.ToString(); previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo <ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.ComboChart = chartData.MapTo <ComboChartDataViewModel>(); previewViewModel.ComboChart.Title = artifactResp.HeaderTitle; } break; case "speedometer": { var chartData = _artifactService.GetSpeedometerChartData(artifactResp.MapTo <GetSpeedometerChartDataRequest>()); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.SpeedometerChart = new SpeedometerChartDataViewModel(); previewViewModel.SpeedometerChart.Title = artifactResp.HeaderTitle; previewViewModel.SpeedometerChart.Subtitle = chartData.Subtitle; previewViewModel.SpeedometerChart.ValueAxisTitle = artifactResp.Measurement; previewViewModel.SpeedometerChart.Series = chartData.Series.MapTo <SpeedometerChartDataViewModel.SeriesViewModel>(); previewViewModel.SpeedometerChart.PlotBands = chartData.PlotBands.MapTo <SpeedometerChartDataViewModel.PlotBandViewModel>(); } break; case "trafficlight": { var chartData = _artifactService.GetTrafficLightChartData(artifactResp.MapTo <GetTrafficLightChartDataRequest>()); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.TrafficLightChart = new TrafficLightChartDataViewModel(); previewViewModel.TrafficLightChart.Title = artifactResp.HeaderTitle; previewViewModel.TrafficLightChart.Subtitle = chartData.Subtitle; previewViewModel.TrafficLightChart.ValueAxisTitle = artifactResp.Measurement; previewViewModel.TrafficLightChart.Series = chartData.Series.MapTo <TrafficLightChartDataViewModel.SeriesViewModel>(); previewViewModel.TrafficLightChart.PlotBands = chartData.PlotBands.MapTo <TrafficLightChartDataViewModel.PlotBandViewModel>(); } break; case "tabular": { var chartData = _artifactService.GetTabularData(artifactResp.MapTo <GetTabularDataRequest>()); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.Tabular = new TabularDataViewModel(); chartData.MapPropertiesToInstance <TabularDataViewModel>(previewViewModel.Tabular); previewViewModel.Tabular.Title = artifactResp.HeaderTitle; //previewViewModel.SpeedometerChart.Series = chartData.Series.MapTo<SpeedometerChartDataViewModel.SeriesViewModel>(); //previewViewModel.SpeedometerChart.PlotBands = chartData.PlotBands.MapTo<SpeedometerChartDataViewModel.PlotBandViewModel>(); } break; case "tank": { var chartData = _artifactService.GetTankData(artifactResp.MapTo <GetTankDataRequest>()); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.Tank = new TankDataViewModel(); chartData.MapPropertiesToInstance <TankDataViewModel>(previewViewModel.Tank); previewViewModel.Tank.Title = artifactResp.HeaderTitle; previewViewModel.Tank.Subtitle = chartData.Subtitle; previewViewModel.Tank.Id = artifactResp.Tank.Id; //previewViewModel.SpeedometerChart.Series = chartData.Series.MapTo<SpeedometerChartDataViewModel.SeriesViewModel>(); //previewViewModel.SpeedometerChart.PlotBands = chartData.PlotBands.MapTo<SpeedometerChartDataViewModel.PlotBandViewModel>(); } break; case "pie": { var chartData = _artifactService.GetPieData(artifactResp.MapTo <GetPieDataRequest>()); previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.Pie = chartData.MapTo <PieDataViewModel>(); previewViewModel.Pie.Title = artifactResp.HeaderTitle; previewViewModel.Pie.Subtitle = chartData.Subtitle; previewViewModel.Pie.Is3D = artifactResp.Is3D; previewViewModel.Pie.ShowLegend = artifactResp.ShowLegend; } break; default: { var chartData = _artifactService.GetChartData(artifactResp.MapTo <GetCartesianChartDataRequest>()); if (!artifactResp.AsNetbackChart) { var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = artifactResp.PeriodeType }); previewViewModel.Highlights = reportHighlights.Highlights.MapTo <ArtifactPreviewViewModel.HighlightViewModel>(); } previewViewModel.PeriodeType = artifactResp.PeriodeType.ToString(); previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.GraphicType = artifactResp.GraphicType; previewViewModel.BarChart = new BarChartDataViewModel(); previewViewModel.BarChart.Title = artifactResp.HeaderTitle; previewViewModel.BarChart.Subtitle = chartData.Subtitle; previewViewModel.BarChart.ValueAxisTitle = artifactResp.Measurement; //.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.BarChart.Series = chartData.Series.MapTo <BarChartDataViewModel.SeriesViewModel>(); previewViewModel.BarChart.Periodes = chartData.Periodes; previewViewModel.BarChart.SeriesType = chartData.SeriesType; } break; } return(Json(previewViewModel, JsonRequestBehavior.AllowGet)); }