Exemplo n.º 1
0
 public ActionResult AoROptions(int id)
 {
     MOE.Common.Business.WCFServiceLibrary.AoROptions aoROptions =
         new MOE.Common.Business.WCFServiceLibrary.AoROptions();
     aoROptions.SetDefaults();
     return(PartialView("AoROptions", aoROptions));
 }
Exemplo n.º 2
0
 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));
 }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
        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);
        }