public ActionResult AoROptions(int id) { MOE.Common.Business.WCFServiceLibrary.AoROptions aoROptions = new MOE.Common.Business.WCFServiceLibrary.AoROptions(); aoROptions.SetDefaults(); return(PartialView("AoROptions", aoROptions)); }
public ActionResult GetAoRMetric(MOE.Common.Business.WCFServiceLibrary.AoROptions metricOptions) { metricOptions.MetricType = GetMetricType(metricOptions.MetricTypeID); string[] result = new string[1] { "" }; if (ModelState.IsValid) { MetricGeneratorService.MetricGeneratorClient client = new MetricGeneratorService.MetricGeneratorClient(); try { client.Open(); result = client.CreateMetric(metricOptions); client.Close(); } catch (Exception ex) { client.Close(); return(Content("<h1>" + ex.Message + "</h1>")); } } return(PartialView("MetricResult", result)); }
public ActionResult MetricOptions(int id) { switch (id) { case 1: MOE.Common.Business.WCFServiceLibrary.PhaseTerminationOptions phaseTerminationOptions = new MOE.Common.Business.WCFServiceLibrary.PhaseTerminationOptions(); phaseTerminationOptions.SetDefaults(); return(PartialView("PhaseTerminationOptions", phaseTerminationOptions)); case 2: MOE.Common.Business.WCFServiceLibrary.SplitMonitorOptions SplitMonitorOptions = new MOE.Common.Business.WCFServiceLibrary.SplitMonitorOptions(); return(PartialView("SplitMonitorOptions", SplitMonitorOptions)); case 3: MOE.Common.Business.WCFServiceLibrary.PedDelayOptions pedDelayOptions = new MOE.Common.Business.WCFServiceLibrary.PedDelayOptions(); pedDelayOptions.SetDefaults(); return(PartialView("PedDelayOptions", pedDelayOptions)); case 5: MOE.Common.Business.WCFServiceLibrary.TMCOptions tMCOptions = new MOE.Common.Business.WCFServiceLibrary.TMCOptions(); tMCOptions.SetDefaults(); return(PartialView("TMCOptions", tMCOptions)); case 4: MOE.Common.Business.WCFServiceLibrary.MetricOptions preemptOptions = new MOE.Common.Business.WCFServiceLibrary.MetricOptions(); preemptOptions.YAxisMax = 3; preemptOptions.Y2AxisMax = 10; return(PartialView("PreemptOptions", preemptOptions)); case 6: MOE.Common.Business.WCFServiceLibrary.PCDOptions pcdOptions = new MOE.Common.Business.WCFServiceLibrary.PCDOptions(); return(PartialView("PCDOptions", pcdOptions)); case 7: MOE.Common.Business.WCFServiceLibrary.ApproachVolumeOptions approachVolumeOptions = new MOE.Common.Business.WCFServiceLibrary.ApproachVolumeOptions(); return(PartialView("ApproachVolumeOptions", approachVolumeOptions)); case 8: MOE.Common.Business.WCFServiceLibrary.ApproachDelayOptions approachDelayOptions = new MOE.Common.Business.WCFServiceLibrary.ApproachDelayOptions(); approachDelayOptions.SetDefaults(); return(PartialView("ApproachDelayOptions", approachDelayOptions)); case 9: MOE.Common.Business.WCFServiceLibrary.AoROptions aoROptions = new MOE.Common.Business.WCFServiceLibrary.AoROptions(); aoROptions.SetDefaults(); return(PartialView("AoROptions", aoROptions)); case 10: MOE.Common.Business.WCFServiceLibrary.ApproachSpeedOptions approachSpeedOptions = new MOE.Common.Business.WCFServiceLibrary.ApproachSpeedOptions(); approachSpeedOptions.SetDefaults(); return(PartialView("ApproachSpeedOptions", approachSpeedOptions)); case 11: MOE.Common.Business.WCFServiceLibrary.YellowAndRedOptions yellowAndRedOptions = new MOE.Common.Business.WCFServiceLibrary.YellowAndRedOptions(); yellowAndRedOptions.SetDefaults(); return(PartialView("YellowAndRedOptions", yellowAndRedOptions)); case 12: default: MOE.Common.Business.WCFServiceLibrary.SplitFailOptions splitFailOptions = new MOE.Common.Business.WCFServiceLibrary.SplitFailOptions(); splitFailOptions.SetDefaults(); return(PartialView("SplitFailOptions", splitFailOptions)); } }
public ArriveOnRedChart(WCFServiceLibrary.AoROptions options, MOE.Common.Business.SignalPhase signalPhase) { Options = options; TimeSpan reportTimespan = Options.EndDate - Options.StartDate; //Set the chart properties chart.ImageStorageMode = ImageStorageMode.UseImageLocation; chart.ImageType = ChartImageType.Jpeg; chart.Height = 550; chart.Width = 1100; //Create the chart legend Legend chartLegend = new Legend(); chartLegend.Name = "MainLegend"; chartLegend.Docking = Docking.Left; chart.Legends.Add(chartLegend); //Create the chart area ChartArea chartArea = new ChartArea(); chartArea.Name = "ChartArea1"; if (Options.YAxisMax != null) { chartArea.AxisY.Maximum = Options.YAxisMax.Value; } chartArea.AxisY.Minimum = 0; chartArea.AxisY.Title = "Volume (Vehicles Per Hour)"; chartArea.AxisY.Interval = 500; chartArea.AxisY2.Title = "Percent AoR"; chartArea.AxisY2.Maximum = 100; chartArea.AxisY2.Interval = 10; chartArea.AxisY2.Enabled = AxisEnabled.True; chartArea.AxisX.Title = "Time (Hour of Day)"; chartArea.AxisX.IntervalType = DateTimeIntervalType.Hours; chartArea.AxisX.LabelStyle.Format = "HH"; chartArea.AxisX2.LabelStyle.Format = "HH"; if (reportTimespan.Days < 1) { if (reportTimespan.Hours > 1) { chartArea.AxisX2.Interval = 1; chartArea.AxisX.Interval = 1; } else { chartArea.AxisX.LabelStyle.Format = "HH:mm"; chartArea.AxisX2.LabelStyle.Format = "HH:mm"; } } chartArea.AxisX2.Enabled = AxisEnabled.True; chartArea.AxisX2.MajorTickMark.Enabled = true; chartArea.AxisX2.IntervalType = DateTimeIntervalType.Hours; chartArea.AxisX2.LabelAutoFitStyle = LabelAutoFitStyles.None; chart.ChartAreas.Add(chartArea); //Add the point series Series AoRSeries = new Series(); AoRSeries.ChartType = SeriesChartType.Line; AoRSeries.BorderDashStyle = ChartDashStyle.Dash; AoRSeries.Color = Color.Red; AoRSeries.Name = "Arrivals on Red"; AoRSeries.XValueType = ChartValueType.DateTime; Series TVSeries = new Series(); TVSeries.ChartType = SeriesChartType.Line; TVSeries.BorderDashStyle = ChartDashStyle.Dash; TVSeries.Color = Color.Black; TVSeries.Name = "Total Vehicles"; TVSeries.XValueType = ChartValueType.DateTime; Series PARSeries = new Series(); PARSeries.ChartType = SeriesChartType.Line; PARSeries.Color = Color.Red; PARSeries.Name = "Percent Arrivals on Red"; PARSeries.BorderWidth = 2; PARSeries.XValueType = ChartValueType.DateTime; PARSeries.YAxisType = AxisType.Secondary; Series pointSeries = new Series(); pointSeries.ChartType = SeriesChartType.Point; pointSeries.Color = Color.White; pointSeries.Name = "Posts"; pointSeries.XValueType = ChartValueType.DateTime; pointSeries.IsVisibleInLegend = false; chart.Series.Add(pointSeries); chart.Series.Add(AoRSeries); chart.Series.Add(PARSeries); chart.Series.Add(TVSeries); //Add points at the start and and of the x axis to ensure //the graph covers the entire period selected by the user //whether there is data or not chart.Series["Posts"].Points.AddXY(Options.StartDate, 0); chart.Series["Posts"].Points.AddXY(Options.EndDate, 0); AddDataToChart(chart, signalPhase); SetPlanStrips(signalPhase.Plans.PlanList, chart, Options.StartDate, Options.ShowPlanStatistics); }