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; return Json(previewViewModel, JsonRequestBehavior.AllowGet); }
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 MultiaxisSettings() { var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.MultiaxisChart = new MultiaxisChartViewModel(); var chart = new MultiaxisChartViewModel.ChartViewModel(); artifactViewModel.MultiaxisChart.Charts.Add(chart); switch (Request.QueryString["type"]) { case "bar": { var viewModel = new BarChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.Series.Add(series); artifactViewModel.MultiaxisChart.Charts[0].BarChart = viewModel; //arti.BarChart = viewModel; return PartialView("~/Views/MultiaxisChart/_BarChartCreate.cshtml", artifactViewModel); } case "baraccumulative": { var viewModel = new BarChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.Series.Add(series); artifactViewModel.MultiaxisChart.Charts[0].BarChart = viewModel; //arti.BarChart = viewModel; return PartialView("~/Views/MultiaxisChart/_BarChartCreate.cshtml", artifactViewModel); } case "barachievement": { var viewModel = new BarChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.Series.Add(series); artifactViewModel.MultiaxisChart.Charts[0].BarChart = viewModel; //arti.BarChart = viewModel; return PartialView("~/Views/MultiaxisChart/_BarChartCreate.cshtml", artifactViewModel); } case "line": { var viewModel = new LineChartViewModel(); this.SetValueAxes(viewModel.ValueAxes, false); var series = new LineChartViewModel.SeriesViewModel(); viewModel.Series.Add(series); artifactViewModel.MultiaxisChart.Charts[0].LineChart = viewModel; //arti.BarChart = viewModel; return PartialView("~/Views/MultiaxisChart/_LineChartCreate.cshtml", artifactViewModel); } case "area": { var viewModel = new AreaChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new AreaChartViewModel.SeriesViewModel(); series.Stacks.Add(new AreaChartViewModel.StackViewModel()); viewModel.Series.Add(series); artifactViewModel.MultiaxisChart.Charts[0].AreaChart = viewModel; //arti.BarChart = viewModel; return PartialView("~/Views/MultiaxisChart/_AreaChartCreate.cshtml", artifactViewModel); } default: return PartialView("NotImplementedChart.cshtml"); } }
public ActionResult GraphSettings() { switch (Request.QueryString["type"]) { case "bar": { var viewModel = new BarChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.Series.Add(series); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.BarChart = viewModel; return PartialView("~/Views/BarChart/_Create.cshtml", artifactViewModel); } case "baraccumulative": { var viewModel = new BarChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.Series.Add(series); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.BarChart = viewModel; return PartialView("~/Views/BarChart/_Create.cshtml", artifactViewModel); } case "barachievement": { var viewModel = new BarChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.Series.Add(series); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.BarChart = viewModel; return PartialView("~/Views/BarChart/_Create.cshtml", artifactViewModel); } case "line": { var viewModel = new LineChartViewModel(); this.SetValueAxes(viewModel.ValueAxes, false); var series = new LineChartViewModel.SeriesViewModel(); viewModel.Series.Add(series); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.LineChart = viewModel; return PartialView("~/Views/LineChart/_Create.cshtml", artifactViewModel); } case "area": { var viewModel = new AreaChartViewModel(); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); viewModel.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(viewModel.ValueAxes, false); var series = new AreaChartViewModel.SeriesViewModel(); series.Stacks.Add(new AreaChartViewModel.StackViewModel()); viewModel.Series.Add(series); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.AreaChart = viewModel; return PartialView("~/Views/AreaChart/_Create.cshtml", artifactViewModel); } case "multiaxis": { var viewModel = new MultiaxisChartViewModel(); var chart = new MultiaxisChartViewModel.ChartViewModel(); this.SetValueAxes(viewModel.ValueAxes); viewModel.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); viewModel.Charts.Add(chart); viewModel.Measurements = _measurementService.GetMeasurements(new GetMeasurementsRequest { Take = -1, SortingDictionary = new Dictionary<string, SortOrder> { { "Name", SortOrder.Ascending } } }).Measurements .Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name }).ToList(); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.MultiaxisChart = viewModel; return PartialView("~/Views/MultiaxisChart/_Create.cshtml", artifactViewModel); } case "combo": { var viewModel = new ComboChartViewModel(); var chart = new ComboChartViewModel.ChartViewModel(); this.SetValueAxes(viewModel.ValueAxes); viewModel.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); viewModel.Charts.Add(chart); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.ComboChart = viewModel; return PartialView("~/Views/ComboChart/_Create.cshtml", artifactViewModel); } case "speedometer": { var viewModel = new SpeedometerChartViewModel(); var plot = new SpeedometerChartViewModel.PlotBand(); viewModel.PlotBands.Add(plot); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.SpeedometerChart = viewModel; return PartialView("~/Views/SpeedometerChart/_Create.cshtml", artifactViewModel); } case "trafficlight": { var viewModel = new TrafficLightChartViewModel(); var plot = new TrafficLightChartViewModel.PlotBand(); viewModel.PlotBands.Add(plot); var trafficLightViewModel = new ArtifactDesignerViewModel(); trafficLightViewModel.TrafficLightChart = viewModel; return PartialView("~/Views/TrafficLightChart/_Create.cshtml", trafficLightViewModel); } case "tabular": { var viewModel = new TabularViewModel(); var row = new TabularViewModel.RowViewModel(); this.SetPeriodeTypes(viewModel.PeriodeTypes); this.SetRangeFilters(viewModel.RangeFilters); viewModel.Rows.Add(row); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.Tabular = viewModel; return PartialView("~/Views/Tabular/_Create.cshtml", artifactViewModel); } case "tank": { var viewModel = new TankViewModel(); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.Tank = viewModel; return PartialView("~/Views/Tank/_Create.cshtml", artifactViewModel); } case "pie": { var viewModel = new PieViewModel(); this.SetValueAxes(viewModel.ValueAxes, false); var series = new PieViewModel.SeriesViewModel(); viewModel.Series.Add(series); var artifactViewModel = new ArtifactDesignerViewModel(); artifactViewModel.Pie = viewModel; return PartialView("~/Views/Pie/_Create.cshtml", artifactViewModel); } default: return PartialView("NotImplementedChart.cshtml"); } }
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 Edit(int id) { var artifact = _artifactServie.GetArtifact(new GetArtifactRequest { Id = id }); var viewModel = new ArtifactDesignerViewModel(); viewModel.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "multiaxis", Text = "Multi Axis" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "combo", Text = "Combination" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "speedometer", Text = "Speedometer" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "tabular", Text = "Tabular" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "tank", Text = "Tank" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "trafficlight", Text = "Traffic Light" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "pie", Text = "Pie" }); viewModel.Measurements = _measurementService.GetMeasurements(new GetMeasurementsRequest { Take = -1, SortingDictionary = new Dictionary<string, SortOrder> { { "Name", SortOrder.Ascending } } }).Measurements .Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name }).ToList(); this.SetPeriodeTypes(viewModel.PeriodeTypes); this.SetRangeFilters(viewModel.RangeFilters); this.SetValueAxes(viewModel.ValueAxes); artifact.MapPropertiesToInstance<ArtifactDesignerViewModel>(viewModel); switch (viewModel.GraphicType) { case "speedometer": { var speedometerChart = new SpeedometerChartViewModel(); viewModel.SpeedometerChart = artifact.MapPropertiesToInstance<SpeedometerChartViewModel>(speedometerChart); var plot = new SpeedometerChartViewModel.PlotBand(); viewModel.SpeedometerChart.PlotBands.Insert(0, plot); } break; case "line": { var lineChart = new LineChartViewModel(); viewModel.LineChart = artifact.MapPropertiesToInstance<LineChartViewModel>(lineChart); this.SetValueAxes(viewModel.LineChart.ValueAxes); var series = new LineChartViewModel.SeriesViewModel(); viewModel.LineChart.Series.Insert(0, series); } break; case "area": { var areaChart = new AreaChartViewModel(); areaChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); areaChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); viewModel.AreaChart = artifact.MapPropertiesToInstance<AreaChartViewModel>(areaChart); this.SetValueAxes(viewModel.AreaChart.ValueAxes); var series = new AreaChartViewModel.SeriesViewModel(); series.Stacks.Add(new AreaChartViewModel.StackViewModel()); viewModel.AreaChart.Series.Insert(0, series); } break; case "multiaxis": { var multiaxisChart = new MultiaxisChartViewModel(); viewModel.MultiaxisChart = artifact.MapPropertiesToInstance<MultiaxisChartViewModel>(multiaxisChart); this.SetValueAxes(viewModel.MultiaxisChart.ValueAxes); multiaxisChart.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); multiaxisChart.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); multiaxisChart.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); multiaxisChart.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); multiaxisChart.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); multiaxisChart.Measurements = _measurementService.GetMeasurements(new GetMeasurementsRequest { Take = -1, SortingDictionary = new Dictionary<string, SortOrder> { { "Name", SortOrder.Ascending } } }).Measurements .Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name }).ToList(); foreach (var chartRes in artifact.Charts) { var chartViewModel = chartRes.MapTo<MultiaxisChartViewModel.ChartViewModel>(); switch (chartViewModel.GraphicType) { case "line": { chartViewModel.LineChart = chartRes.MapTo<LineChartViewModel>(); this.SetValueAxes(chartViewModel.LineChart.ValueAxes); var series = new LineChartViewModel.SeriesViewModel(); chartViewModel.LineChart.Series.Insert(0, series); } break; case "area": { chartViewModel.AreaChart = chartRes.MapTo<AreaChartViewModel>(); chartViewModel.AreaChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); chartViewModel.AreaChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(chartViewModel.AreaChart.ValueAxes); var series = new AreaChartViewModel.SeriesViewModel(); series.Stacks.Add(new AreaChartViewModel.StackViewModel()); chartViewModel.AreaChart.Series.Insert(0, series); } break; default: { chartViewModel.BarChart = chartRes.MapTo<BarChartViewModel>(); chartViewModel.BarChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); chartViewModel.BarChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(chartViewModel.BarChart.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); chartViewModel.BarChart.Series.Insert(0, series); } break; } multiaxisChart.Charts.Add(chartViewModel); } var chart = new MultiaxisChartViewModel.ChartViewModel(); viewModel.MultiaxisChart.Charts.Insert(0, chart); } break; case "combo": { var comboChart = new ComboChartViewModel(); viewModel.ComboChart = artifact.MapPropertiesToInstance<ComboChartViewModel>(comboChart); this.SetValueAxes(viewModel.ComboChart.ValueAxes); comboChart.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); comboChart.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); comboChart.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); comboChart.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); comboChart.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); foreach (var chartRes in artifact.Charts) { var chartViewModel = chartRes.MapTo<ComboChartViewModel.ChartViewModel>(); switch (chartViewModel.GraphicType) { case "line": { chartViewModel.LineChart = chartRes.MapTo<LineChartViewModel>(); this.SetValueAxes(chartViewModel.LineChart.ValueAxes); var series = new LineChartViewModel.SeriesViewModel(); chartViewModel.LineChart.Series.Insert(0, series); } break; case "area": { chartViewModel.AreaChart = chartRes.MapTo<AreaChartViewModel>(); chartViewModel.AreaChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); chartViewModel.AreaChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(chartViewModel.AreaChart.ValueAxes); var series = new AreaChartViewModel.SeriesViewModel(); series.Stacks.Add(new AreaChartViewModel.StackViewModel()); chartViewModel.AreaChart.Series.Insert(0, series); } break; default: { chartViewModel.BarChart = chartRes.MapTo<BarChartViewModel>(); chartViewModel.BarChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); chartViewModel.BarChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(chartViewModel.BarChart.ValueAxes, false); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); chartViewModel.BarChart.Series.Insert(0, series); } break; } comboChart.Charts.Add(chartViewModel); } var chart = new ComboChartViewModel.ChartViewModel(); viewModel.ComboChart.Charts.Insert(0, chart); } break; case "barachievement": { var barChart = new BarChartViewModel(); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(barChart.ValueAxes, false); viewModel.BarChart = artifact.MapPropertiesToInstance<BarChartViewModel>(barChart); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.BarChart.Series.Insert(0, series); } break; case "baraccumulative": { var barChart = new BarChartViewModel(); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(barChart.ValueAxes, false); viewModel.BarChart = artifact.MapPropertiesToInstance<BarChartViewModel>(barChart); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.BarChart.Series.Insert(0, series); } break; case "trafficlight": { var trafficLightChart = new TrafficLightChartViewModel(); viewModel.TrafficLightChart = artifact.MapPropertiesToInstance<TrafficLightChartViewModel>(trafficLightChart); var plot = new TrafficLightChartViewModel.PlotBand(); viewModel.TrafficLightChart.PlotBands.Insert(0, plot); } break; case "tank": { viewModel.Tank = artifact.Tank.MapTo<TankViewModel>(); } break; case "tabular": { viewModel.Tabular = artifact.MapPropertiesToInstance(new TabularViewModel()); viewModel.Tabular.Rows = new List<TabularViewModel.RowViewModel>(); viewModel.Tabular.Rows.Insert(0, new TabularViewModel.RowViewModel()); this.SetPeriodeTypes(viewModel.Tabular.PeriodeTypes); this.SetRangeFilters(viewModel.Tabular.RangeFilters); foreach (var row in artifact.Rows) { viewModel.Tabular.Rows.Add(new TabularViewModel.RowViewModel { KpiId = row.KpiId, KpiName = row.KpiName, PeriodeType = row.PeriodeType.ToString(), EndInDisplay = ParseDateToString(row.PeriodeType, row.End), StartInDisplay = ParseDateToString(row.PeriodeType, row.Start), RangeFilter = row.RangeFilter.ToString() }); } /*foreach (var item in viewModel.Tabular.Rows) { if (item.Start.HasValue && item.End.HasValue) { item.StartInDisplay = ParseDateToString((PeriodeType)Enum.Parse(typeof(PeriodeType), item.PeriodeType), item.Start); item.EndInDisplay = ParseDateToString((PeriodeType)Enum.Parse(typeof(PeriodeType), item.PeriodeType), item.End); } }*/ } break; case "pie": { viewModel.Pie = artifact.MapPropertiesToInstance(new PieViewModel()); this.SetValueAxes(viewModel.Pie.ValueAxes); var series = new PieViewModel.SeriesViewModel(); /*viewModel.Is3D = artifact.Is3D; viewModel.ShowLegend = artifact.ShowLegend;*/ viewModel.Pie.Series.Insert(0, series); } break; default: { var barChart = new BarChartViewModel(); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(barChart.ValueAxes, false); viewModel.BarChart = artifact.MapPropertiesToInstance<BarChartViewModel>(barChart); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.BarChart.Series.Insert(0, series); } break; } viewModel.StartInDisplay = ParseDateToString(artifact.PeriodeType, artifact.Start); viewModel.EndInDisplay = ParseDateToString(artifact.PeriodeType, artifact.End); return View(viewModel); }
public ActionResult Designer() { var viewModel = new ArtifactDesignerViewModel(); viewModel.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "multiaxis", Text = "Multi Axis" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "combo", Text = "Combination" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "speedometer", Text = "Speedometer" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "trafficlight", Text = "Traffic Light" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "tabular", Text = "Tabular" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "tank", Text = "Tank" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "pie", Text = "Pie" }); viewModel.Measurements = _measurementService.GetMeasurements(new GetMeasurementsRequest { Take = -1, SortingDictionary = new Dictionary<string, SortOrder> { {"Name", SortOrder.Ascending}} }).Measurements .Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name }).ToList(); this.SetPeriodeTypes(viewModel.PeriodeTypes); this.SetRangeFilters(viewModel.RangeFilters); this.SetValueAxes(viewModel.ValueAxes); //this.SetKpiList(viewModel.KpiList); return View(viewModel); }
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); }
public ActionResult Edit(int id) { var artifact = _artifactServie.GetArtifact(new GetArtifactRequest { Id = id }); var viewModel = new ArtifactDesignerViewModel(); viewModel.GraphicTypes.Add(new SelectListItem { Value = "bar", Text = "Bar" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "baraccumulative", Text = "Bar Accumulative" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "barachievement", Text = "Bar Achievement" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "line", Text = "Line" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "area", Text = "Area" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "multiaxis", Text = "Multi Axis" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "speedometer", Text = "Speedometer" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "tabular", Text = "Tabular" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "tank", Text = "Tank" }); viewModel.GraphicTypes.Add(new SelectListItem { Value = "trafficlight", Text = "Traffic Light" }); viewModel.Measurements = _measurementService.GetMeasurements(new GetMeasurementsRequest()).Measurements .Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name }).ToList(); this.SetPeriodeTypes(viewModel.PeriodeTypes); this.SetRangeFilters(viewModel.RangeFilters); this.SetValueAxes(viewModel.ValueAxes); artifact.MapPropertiesToInstance<ArtifactDesignerViewModel>(viewModel); switch (viewModel.GraphicType) { case "speedometer": { var speedometerChart = new SpeedometerChartViewModel(); viewModel.SpeedometerChart = artifact.MapPropertiesToInstance<SpeedometerChartViewModel>(speedometerChart); var plot = new SpeedometerChartViewModel.PlotBand(); viewModel.SpeedometerChart.PlotBands.Insert(0, plot); } break; case "line": { var lineChart = new LineChartViewModel(); viewModel.LineChart = artifact.MapPropertiesToInstance<LineChartViewModel>(lineChart); this.SetValueAxes(viewModel.LineChart.ValueAxes); var series = new LineChartViewModel.SeriesViewModel(); viewModel.LineChart.Series.Insert(0, series); } break; case "area": { var areaChart = new AreaChartViewModel(); viewModel.AreaChart = artifact.MapPropertiesToInstance<AreaChartViewModel>(areaChart); this.SetValueAxes(viewModel.AreaChart.ValueAxes); var series = new AreaChartViewModel.SeriesViewModel(); viewModel.AreaChart.Series.Insert(0, series); } break; case "barachievement": { var barChart = new BarChartViewModel(); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(barChart.ValueAxes, false); viewModel.BarChart = artifact.MapPropertiesToInstance<BarChartViewModel>(barChart); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.BarChart.Series.Insert(0, series); } break; case "baraccumulative": { var barChart = new BarChartViewModel(); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); this.SetValueAxes(barChart.ValueAxes, false); viewModel.BarChart = artifact.MapPropertiesToInstance<BarChartViewModel>(barChart); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.BarChart.Series.Insert(0, series); } break; case "trafficlight": { var trafficLightChart = new TrafficLightChartViewModel(); viewModel.TrafficLightChart = artifact.MapPropertiesToInstance<TrafficLightChartViewModel>(trafficLightChart); var plot = new TrafficLightChartViewModel.PlotBand(); viewModel.TrafficLightChart.PlotBands.Insert(0, plot); } break; case "tank": { viewModel.Tank = artifact.Tank.MapTo<TankViewModel>(); } break; case "tabular": { viewModel.Tabular = artifact.MapPropertiesToInstance(new TabularViewModel()); viewModel.Tabular.Rows.Insert(0, new TabularViewModel.RowViewModel()); this.SetPeriodeTypes(viewModel.Tabular.PeriodeTypes); this.SetRangeFilters(viewModel.Tabular.RangeFilters); } break; default: { var barChart = new BarChartViewModel(); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.SingleStack.ToString(), Text = "Single Stack" }); barChart.SeriesTypes.Add(new SelectListItem { Value = SeriesType.MultiStacks.ToString(), Text = "Multi Stacks" }); this.SetValueAxes(barChart.ValueAxes, false); viewModel.BarChart = artifact.MapPropertiesToInstance<BarChartViewModel>(barChart); var series = new BarChartViewModel.SeriesViewModel(); series.Stacks.Add(new BarChartViewModel.StackViewModel()); viewModel.BarChart.Series.Insert(0, series); } break; } viewModel.StartInDisplay = ParseDateToString(artifact.PeriodeType, artifact.Start); viewModel.EndInDisplay = ParseDateToString(artifact.PeriodeType, artifact.End); return View(viewModel); }
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"); }