示例#1
0
        /// <summary>
        /// Constructor for Signal phase
        /// </summary>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="signalId"></param>
        /// <param name="eventData1"></param>
        /// <param name="region"></param>
        /// <param name="detChannel"></param>
        public RLMSignalPhase(DateTime startDate, DateTime endDate, int binSize, double srlvSeconds,
                              int metricTypeID, MOE.Common.Models.Approach approach, bool usePermissivePhase)
        {
            this.srlvSeconds = srlvSeconds;
            this.startDate   = startDate;
            this.endDate     = endDate;
            this.Approach    = approach;

            this.binSize = binSize;

            IsPermissive = usePermissivePhase;

            Models.Repositories.IControllerEventLogRepository controllerRepository =
                Models.Repositories.ControllerEventLogRepositoryFactory.Create();


            if (!Approach.IsProtectedPhaseOverlap)
            {
                GetSignalPhaseData(startDate, endDate, showVolume, binSize, usePermissivePhase);
            }
            else
            {
                totalVolume = controllerRepository.GetTMCVolume(startDate, endDate, Approach.SignalID, Approach.ProtectedPhaseNumber);
                GetSignalOverlapData(startDate, endDate, showVolume, binSize);
            }
        }
示例#2
0
 private void AddStartingPlan()
 {
     if (Plans.Count > 0 && Plans[0].PlanStart != StartDate)
     {
         Models.Repositories.IControllerEventLogRepository controllerEventLogRepository =
             Models.Repositories.ControllerEventLogRepositoryFactory.Create();
         Models.Controller_Event_Log planEvent = controllerEventLogRepository.GetFirstEventBeforeDate(SignalID,
                                                                                                      131, Plans[0].PlanStart);
         if (planEvent != null)
         {
             Plan plan = new Plan(StartDate,
                                  Plans[0].PlanStart,
                                  planEvent.EventParam);
             Plans.Insert(0, plan);
         }
         else
         {
             Plan plan = new Plan(StartDate,
                                  Plans[0].PlanStart,
                                  0);
             Plans.Insert(0, plan);
         }
     }
 }