public SignalsController( MOE.Common.Models.Repositories.IControllerTypeRepository controllerTypeRepository, MOE.Common.Models.Repositories.IRegionsRepository regionRepository, MOE.Common.Models.Repositories.IDirectionTypeRepository directionTypeRepository, MOE.Common.Models.Repositories.IMovementTypeRepository movementTypeRepository, MOE.Common.Models.Repositories.ILaneTypeRepository laneTypeRepository, MOE.Common.Models.Repositories.IDetectionHardwareRepository detectionHardwareRepository, MOE.Common.Models.Repositories.ISignalsRepository signalsRepository, MOE.Common.Models.Repositories.IDetectorRepository detectorRepository, MOE.Common.Models.Repositories.IDetectionTypeRepository detectionTypeRepository, MOE.Common.Models.Repositories.IApproachRepository approachRepository, MOE.Common.Models.Repositories.IMetricTypeRepository metricTypeRepository) { _signalsRepository = signalsRepository; _detectorRepository = detectorRepository; _detectionTypeRepository = detectionTypeRepository; _approachRepository = approachRepository; _controllerTypeRepository = controllerTypeRepository; _regionRepository = regionRepository; _directionTypeRepository = directionTypeRepository; _movementTypeRepository = movementTypeRepository; _laneTypeRepository = laneTypeRepository; _detectionHardwareRepository = detectionHardwareRepository; _metricTypeRepository = metricTypeRepository; }
public SignalsController() { _signalsRepository = MOE.Common.Models.Repositories.SignalsRepositoryFactory.Create(); _detectorRepository = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); _detectionTypeRepository = MOE.Common.Models.Repositories.DetectionTypeRepositoryFactory.Create(); _approachRepository = MOE.Common.Models.Repositories.ApproachRepositoryFactory.Create(); _metricTypeRepository = MOE.Common.Models.Repositories.MetricTypeRepositoryFactory.Create(); _controllerTypeRepository = MOE.Common.Models.Repositories.ControllerTypeRepositoryFactory.Create(); _regionRepository = MOE.Common.Models.Repositories.RegionsRepositoryFactory.Create(); _directionTypeRepository = MOE.Common.Models.Repositories.DirectionTypeRepositoryFactory.Create(); _movementTypeRepository = MOE.Common.Models.Repositories.MovementTypeRepositoryFactory.Create(); _laneTypeRepository = MOE.Common.Models.Repositories.LaneTypeRepositoryFactory.Create(); _detectionHardwareRepository = MOE.Common.Models.Repositories.DetectionHardwareRepositoryFactory.Create(); }
public List <Models.Detector> GetDetectorsForSignalThatSupportAMetric(int MetricTypeID) { MOE.Common.Models.Repositories.IDetectorRepository gdr = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); List <Models.Detector> detectors = new List <Models.Detector>(); foreach (Models.Detector d in GetDetectorsForSignal()) { if (gdr.CheckReportAvialbility(d.DetectorID, MetricTypeID)) { detectors.Add(d); } } return(detectors); }
public List <Models.Detector> GetDetectorsForSignalThatSupportAMetricByApproachDirection(int MetricTypeID, string Direction) { MOE.Common.Models.Repositories.IDetectorRepository gdr = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); List <Models.Detector> detectors = new List <Detector>(); foreach (Models.Detector d in GetDetectorsForSignal()) { if (gdr.CheckReportAvialbility(d.DetectorID, MetricTypeID) && d.Approach.DirectionType.Description == Direction) { detectors.Add(d); } } return(detectors); }
public ActionResult CopyDetector(int ID, int versionId, int approachID, string approachIndex) { Detector newDetector = Detector.CopyDetector(ID, true); //need to increase DetChannel if not copying the whole signal. Signal signal = _signalsRepository.GetSignalVersionByVersionId(versionId); Approach approach = signal.Approaches.Where(s => s.ApproachID == approachID).First(); newDetector.ApproachID = approach.ApproachID; newDetector.Index = approachIndex + "Detectors[" + approach.Detectors.Count.ToString() + "]."; MOE.Common.Models.Repositories.IDetectorRepository detectorRepository = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); detectorRepository.Add(newDetector); //Do the Repository Add FOR detectors AT the detector leve. newDetector.Approach = approach; //????do not associate up!!! Add from top down! //approach.Detectors.Add(newDetector); AddSelectListsToViewBag(signal); return(PartialView("AddDetector", newDetector)); }
public List <Models.Detector> GetDetectorsForSignalThatSupportAMetricByPhaseNumber(int MetricTypeID, int PhaseNumber) { MOE.Common.Models.Repositories.IDetectorRepository gdr = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); List <Models.Detector> detectors = new List <Models.Detector>(); foreach (Models.Detector d in GetDetectorsForSignal()) { if (gdr.CheckReportAvialbility(d.DetectorID, MetricTypeID) && (d.Approach.ProtectedPhaseNumber == PhaseNumber || d.Approach.PermissivePhaseNumber == PhaseNumber)) { detectors.Add(d); } } return(detectors); }
public ConfigurationRecord(MOE.Common.Models.Detector gd) { MOE.Common.Models.Repositories.IDetectorRepository gdr = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); MOE.Common.Models.Repositories.IDetectorCommentRepository dcr = MOE.Common.Models.Repositories.DetectorCommentRepositoryFactory.Create(); string comment = ""; Models.DetectorComment c = dcr.GetMostRecentDetectorCommentByDetectorID(gd.ID); if (c != null) { comment = c.CommentText; } this.Comment = comment; this.DecisionPoint = gd.DecisionPoint.ToString(); this.DetectorChannel = gd.DetChannel.ToString(); this.DetectorID = gd.DetectorID; this.Direction = gd.Approach.DirectionType.Abbreviation; this.DistanceFromStopBar = gd.DistanceFromStopBar.ToString(); this.Enabled = gd.Approach.Signal.Enabled.ToString(); this.MinSpeedFilter = gd.MinSpeedFilter.ToString(); this.MovementDelay = gd.MovementDelay.ToString(); this.MPH = gd.Approach.MPH.ToString(); this.Overlap = gd.Approach.IsProtectedPhaseOverlap.ToString(); this.PermissivePhaseNumber = gd.Approach.PermissivePhaseNumber.ToString(); this.ProtectedPhaseNumber = gd.Approach.ProtectedPhaseNumber.ToString(); this.DetectionHardware = gd.DetectionHardware.Name; if (gd.LaneType != null) { this.LaneType = gd.LaneType.Description; } if (gd.LaneNumber != null) { this.LaneNumber = gd.LaneNumber.ToString(); } if (gd.MovementType != null) { this.MovementType = gd.MovementType.Description; } foreach (MOE.Common.Models.DetectionType dt in gd.DetectionTypes) { this.DetectionTypes += dt.Description + "<br/>"; } }
public ControllerEventLogs CombineDetectorDataByApproachAndType(DateTime startDate, DateTime endDate, MOE.Common.Models.Approach approach, bool Has_PCD, bool Has_TMC) { MOE.Common.Models.Repositories.IDetectorRepository gr = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); string signalId = approach.SignalID; if (Has_TMC) { ApproachCountDetectors.Clear(); ApproachCountDetectors.AddRange(RemoveExitDetectors(approach.GetDetectorsForMetricType(5))); } if (Has_PCD) { ApproachCountDetectors.Clear(); ApproachCountDetectors.AddRange(RemoveExitDetectors(approach.GetDetectorsForMetricType(6))); } List <ControllerEventLogs> eventsList = new List <ControllerEventLogs>(); ControllerEventLogs MergedEvents = new ControllerEventLogs(signalId, startDate, endDate); foreach (Models.Detector detector in ApproachCountDetectors) { List <int> li = new List <int> { 82 }; ControllerEventLogs cs = new ControllerEventLogs(signalId, startDate, endDate, detector.DetChannel, li); eventsList.Add(cs); } foreach (ControllerEventLogs Events in eventsList) { MergedEvents.MergeEvents(Events); } return(MergedEvents); }
public bool CheckReportAvailabilityForSignal(int MetricTypeID) { MOE.Common.Models.Repositories.IDetectorRepository gdr = MOE.Common.Models.Repositories.DetectorRepositoryFactory.Create(); List <Models.Detector> detectors = new List <Detector>(); foreach (Models.Detector d in GetDetectorsForSignal()) { if (gdr.CheckReportAvialbility(d.DetectorID, MetricTypeID)) { detectors.Add(d); } } if (detectors.Count > 0) { return(true); } else { return(false); } }