Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
 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);
 }