public ActionResult Create(ArtifactDesignerViewModel viewModel) { switch (viewModel.GraphicType) { case "line": { var request = viewModel.MapTo<CreateArtifactRequest>(); viewModel.LineChart.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; case "area": { var request = viewModel.MapTo<CreateArtifactRequest>(); viewModel.AreaChart.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; case "speedometer": { var request = viewModel.MapTo<CreateArtifactRequest>(); viewModel.SpeedometerChart.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; case "trafficlight": { var request = viewModel.MapTo<CreateArtifactRequest>(); viewModel.TrafficLightChart.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; case "tabular": { var request = viewModel.MapTo<CreateArtifactRequest>(); viewModel.Tabular.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; case "tank": { var request = viewModel.MapTo<CreateArtifactRequest>(); //viewModel.Tank.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; default: { var request = viewModel.MapTo<CreateArtifactRequest>(); viewModel.BarChart.MapPropertiesToInstance<CreateArtifactRequest>(request); _artifactServie.Create(request); } break; } return RedirectToAction("Index"); }
public ActionResult Preview(ArtifactDesignerViewModel viewModel) { var previewViewModel = new ArtifactPreviewViewModel(); previewViewModel.FractionScale = viewModel.FractionScale; previewViewModel.MaxFractionScale = viewModel.MaxFractionScale; switch (viewModel.GraphicType) { case "line": { var cartesianRequest = viewModel.MapTo<GetCartesianChartDataRequest>(); viewModel.LineChart.MapPropertiesToInstance<GetCartesianChartDataRequest>(cartesianRequest); var chartData = _artifactServie.GetChartData(cartesianRequest); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = (PeriodeType)Enum.Parse(typeof(PeriodeType), viewModel.PeriodeType) }); previewViewModel.PeriodeType = viewModel.PeriodeType; previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo<ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.LineChart = new LineChartDataViewModel(); previewViewModel.LineChart.Title = viewModel.HeaderTitle; previewViewModel.LineChart.Subtitle = chartData.Subtitle; previewViewModel.LineChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.LineChart.Series = chartData.Series.MapTo<LineChartDataViewModel.SeriesViewModel>(); previewViewModel.LineChart.Periodes = chartData.Periodes; } break; case "area": { var cartesianRequest = viewModel.MapTo<GetCartesianChartDataRequest>(); viewModel.AreaChart.MapPropertiesToInstance<GetCartesianChartDataRequest>(cartesianRequest); var chartData = _artifactServie.GetChartData(cartesianRequest); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = (PeriodeType)Enum.Parse(typeof(PeriodeType), viewModel.PeriodeType) }); previewViewModel.PeriodeType = viewModel.PeriodeType; previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo<ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.AreaChart = new AreaChartDataViewModel(); previewViewModel.AreaChart.Title = viewModel.HeaderTitle; previewViewModel.AreaChart.Subtitle = chartData.Subtitle; previewViewModel.AreaChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.AreaChart.Series = chartData.Series.MapTo<AreaChartDataViewModel.SeriesViewModel>(); previewViewModel.AreaChart.Periodes = chartData.Periodes; previewViewModel.AreaChart.SeriesType = chartData.SeriesType; } break; case "speedometer": { var request = viewModel.MapTo<GetSpeedometerChartDataRequest>(); viewModel.SpeedometerChart.MapPropertiesToInstance<GetSpeedometerChartDataRequest>(request); var chartData = _artifactServie.GetSpeedometerChartData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.SpeedometerChart = new SpeedometerChartDataViewModel(); previewViewModel.SpeedometerChart.Title = viewModel.HeaderTitle; previewViewModel.SpeedometerChart.Subtitle = chartData.Subtitle; previewViewModel.SpeedometerChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.SpeedometerChart.Series = chartData.Series.MapTo<SpeedometerChartDataViewModel.SeriesViewModel>(); previewViewModel.SpeedometerChart.PlotBands = chartData.PlotBands.MapTo<SpeedometerChartDataViewModel.PlotBandViewModel>(); } break; case "trafficlight": { var request = viewModel.MapTo<GetTrafficLightChartDataRequest>(); viewModel.TrafficLightChart.MapPropertiesToInstance<GetTrafficLightChartDataRequest>(request); var chartData = _artifactServie.GetTrafficLightChartData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.TrafficLightChart = new TrafficLightChartDataViewModel(); previewViewModel.TrafficLightChart.Title = viewModel.HeaderTitle; previewViewModel.TrafficLightChart.Subtitle = chartData.Subtitle; previewViewModel.TrafficLightChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }) .Name; previewViewModel.TrafficLightChart.Series = chartData.Series.MapTo<TrafficLightChartDataViewModel.SeriesViewModel>(); previewViewModel.TrafficLightChart.PlotBands = chartData.PlotBands.MapTo<TrafficLightChartDataViewModel.PlotBandViewModel>(); } break; case "tabular": { var request = viewModel.MapTo<GetTabularDataRequest>(); /*request.Rows = new List<GetTabularDataRequest.RowRequest>(); foreach (var rowViewModel in viewModel.Tabular.Rows) { request.Rows.Add(new GetTabularDataRequest.RowRequest { End = rowViewModel.EndAfterParsed, KpiId = rowViewModel.KpiId, PeriodeType = (PeriodeType)Enum.Parse(typeof(PeriodeType), rowViewModel.PeriodeType), KpiName = rowViewModel.KpiName, RangeFilter = (RangeFilter)Enum.Parse(typeof(RangeFilter), rowViewModel.RangeFilter), Start = rowViewModel.StartAfterParsed }); }*/ viewModel.Tabular.MapPropertiesToInstance<GetTabularDataRequest>(request); var chartData = _artifactServie.GetTabularData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.Tabular = new TabularDataViewModel(); chartData.MapPropertiesToInstance<TabularDataViewModel>(previewViewModel.Tabular); previewViewModel.Tabular.Title = viewModel.HeaderTitle; } break; case "tank": { var request = viewModel.MapTo<GetTankDataRequest>(); //viewModel.Tank.MapPropertiesToInstance<GetTankDataRequest>(request); var chartData = _artifactServie.GetTankData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.Tank = new TankDataViewModel(); chartData.MapPropertiesToInstance<TankDataViewModel>(previewViewModel.Tank); previewViewModel.Tank.Title = viewModel.HeaderTitle; previewViewModel.Tank.Subtitle = chartData.Subtitle; } break; case "multiaxis": { var request = viewModel.MapTo<GetMultiaxisChartDataRequest>(); viewModel.MultiaxisChart.MapPropertiesToInstance<GetMultiaxisChartDataRequest>(request); var chartData = _artifactServie.GetMultiaxisChartData(request); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = (PeriodeType)Enum.Parse(typeof(PeriodeType), viewModel.PeriodeType) }); previewViewModel.PeriodeType = viewModel.PeriodeType; previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo<ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.MultiaxisChart = new MultiaxisChartDataViewModel(); chartData.MapPropertiesToInstance<MultiaxisChartDataViewModel>(previewViewModel.MultiaxisChart); previewViewModel.MultiaxisChart.Title = viewModel.HeaderTitle; } break; case "combo": { var request = viewModel.MapTo<GetComboChartDataRequest>(); viewModel.ComboChart.MapPropertiesToInstance<GetComboChartDataRequest>(request); var chartData = _artifactServie.GetComboChartData(request); var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = (PeriodeType)Enum.Parse(typeof(PeriodeType), viewModel.PeriodeType) }); previewViewModel.PeriodeType = viewModel.PeriodeType; previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.Highlights = reportHighlights.Highlights.MapTo<ArtifactPreviewViewModel.HighlightViewModel>(); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.ComboChart = new ComboChartDataViewModel(); chartData.MapPropertiesToInstance<ComboChartDataViewModel>(previewViewModel.ComboChart); previewViewModel.ComboChart.Title = viewModel.HeaderTitle; } break; case "pie": { var request = viewModel.MapTo<GetPieDataRequest>(); viewModel.Pie.MapPropertiesToInstance<GetPieDataRequest>(request); var pieData = _artifactServie.GetPieData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.Pie = pieData.MapTo<PieDataViewModel>(); previewViewModel.Pie.Is3D = request.Is3D; previewViewModel.Pie.ShowLegend = request.ShowLegend; } break; default: { var cartesianRequest = viewModel.MapTo<GetCartesianChartDataRequest>(); viewModel.BarChart.MapPropertiesToInstance<GetCartesianChartDataRequest>(cartesianRequest); var chartData = _artifactServie.GetChartData(cartesianRequest); if (!viewModel.AsNetbackChart) { var reportHighlights = _highlightService.GetReportHighlights(new GetReportHighlightsRequest { TimePeriodes = chartData.TimePeriodes, Type = "Overall", PeriodeType = (PeriodeType)Enum.Parse(typeof(PeriodeType), viewModel.PeriodeType) }); previewViewModel.Highlights = reportHighlights.Highlights.MapTo<ArtifactPreviewViewModel.HighlightViewModel>(); } previewViewModel.AsNetbackChart = viewModel.AsNetbackChart; previewViewModel.PeriodeType = viewModel.PeriodeType; previewViewModel.TimePeriodes = chartData.TimePeriodes; previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.BarChart = new BarChartDataViewModel(); previewViewModel.BarChart.Title = viewModel.HeaderTitle; previewViewModel.BarChart.Subtitle = chartData.Subtitle; 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; } break; } return Json(previewViewModel); }
public ActionResult Edit(ArtifactDesignerViewModel viewModel) { switch (viewModel.GraphicType) { case "line": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.LineChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "area": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.AreaChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "multiaxis": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.MultiaxisChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "combo": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.ComboChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "speedometer": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.SpeedometerChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "trafficlight": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.TrafficLightChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "tank": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.Tank.MapPropertiesToInstance<UpdateArtifactRequest>(request); request.Id = viewModel.Id; _artifactServie.Update(request); } break; case "tabular": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.Tabular.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; case "pie": { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.Pie.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; default: { var request = viewModel.MapTo<UpdateArtifactRequest>(); viewModel.BarChart.MapPropertiesToInstance<UpdateArtifactRequest>(request); _artifactServie.Update(request); } break; } return RedirectToAction("Index"); }
public ActionResult Preview(ArtifactDesignerViewModel viewModel) { var previewViewModel = new ArtifactPreviewViewModel(); switch (viewModel.GraphicType) { case "line": { var cartesianRequest = viewModel.MapTo<GetCartesianChartDataRequest>(); viewModel.LineChart.MapPropertiesToInstance<GetCartesianChartDataRequest>(cartesianRequest); var chartData = _artifactServie.GetChartData(cartesianRequest); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.LineChart = new LineChartDataViewModel(); previewViewModel.LineChart.Title = viewModel.HeaderTitle; previewViewModel.LineChart.Subtitle = chartData.Subtitle; previewViewModel.LineChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.LineChart.Series = chartData.Series.MapTo<LineChartDataViewModel.SeriesViewModel>(); previewViewModel.LineChart.Periodes = chartData.Periodes; } break; case "area": { var cartesianRequest = viewModel.MapTo<GetCartesianChartDataRequest>(); viewModel.AreaChart.MapPropertiesToInstance<GetCartesianChartDataRequest>(cartesianRequest); var chartData = _artifactServie.GetChartData(cartesianRequest); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.AreaChart = new AreaChartDataViewModel(); previewViewModel.AreaChart.Title = viewModel.HeaderTitle; previewViewModel.AreaChart.Subtitle = chartData.Subtitle; previewViewModel.AreaChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.AreaChart.Series = chartData.Series.MapTo<AreaChartDataViewModel.SeriesViewModel>(); previewViewModel.AreaChart.Periodes = chartData.Periodes; } break; case "speedometer": { var request = viewModel.MapTo<GetSpeedometerChartDataRequest>(); viewModel.SpeedometerChart.MapPropertiesToInstance<GetSpeedometerChartDataRequest>(request); var chartData = _artifactServie.GetSpeedometerChartData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.SpeedometerChart = new SpeedometerChartDataViewModel(); previewViewModel.SpeedometerChart.Title = viewModel.HeaderTitle; previewViewModel.SpeedometerChart.Subtitle = chartData.Subtitle; previewViewModel.SpeedometerChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }).Name; previewViewModel.SpeedometerChart.Series = chartData.Series.MapTo<SpeedometerChartDataViewModel.SeriesViewModel>(); previewViewModel.SpeedometerChart.PlotBands = chartData.PlotBands.MapTo<SpeedometerChartDataViewModel.PlotBandViewModel>(); } break; case "trafficlight": { var request = viewModel.MapTo<GetTrafficLightChartDataRequest>(); viewModel.TrafficLightChart.MapPropertiesToInstance<GetTrafficLightChartDataRequest>(request); var chartData = _artifactServie.GetTrafficLightChartData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.TrafficLightChart = new TrafficLightChartDataViewModel(); previewViewModel.TrafficLightChart.Title = viewModel.HeaderTitle; previewViewModel.TrafficLightChart.Subtitle = chartData.Subtitle; previewViewModel.TrafficLightChart.ValueAxisTitle = _measurementService.GetMeasurement(new GetMeasurementRequest { Id = viewModel.MeasurementId }) .Name; previewViewModel.TrafficLightChart.Series = chartData.Series.MapTo<TrafficLightChartDataViewModel.SeriesViewModel>(); previewViewModel.TrafficLightChart.PlotBands = chartData.PlotBands.MapTo<TrafficLightChartDataViewModel.PlotBandViewModel>(); } break; case "tabular": { var request = viewModel.MapTo<GetTabularDataRequest>(); viewModel.Tabular.MapPropertiesToInstance<GetTabularDataRequest>(request); var chartData = _artifactServie.GetTabularData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.Tabular = new TabularDataViewModel(); chartData.MapPropertiesToInstance<TabularDataViewModel>(previewViewModel.Tabular); previewViewModel.Tabular.Title = viewModel.HeaderTitle; } break; case "tank": { var request = viewModel.MapTo<GetTankDataRequest>(); //viewModel.Tank.MapPropertiesToInstance<GetTankDataRequest>(request); var chartData = _artifactServie.GetTankData(request); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.Tank = new TankDataViewModel(); chartData.MapPropertiesToInstance<TankDataViewModel>(previewViewModel.Tank); previewViewModel.Tank.Title = viewModel.HeaderTitle; previewViewModel.Tank.Subtitle = chartData.Subtitle; } break; default: { var cartesianRequest = viewModel.MapTo<GetCartesianChartDataRequest>(); viewModel.BarChart.MapPropertiesToInstance<GetCartesianChartDataRequest>(cartesianRequest); var chartData = _artifactServie.GetChartData(cartesianRequest); previewViewModel.GraphicType = viewModel.GraphicType; previewViewModel.BarChart = new BarChartDataViewModel(); previewViewModel.BarChart.Title = viewModel.HeaderTitle; previewViewModel.BarChart.Subtitle = chartData.Subtitle; 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; } break; } return Json(previewViewModel); }