Esempio n. 1
0
 private Models.Approach CreateNewApproach(Data.Signals.Graph_DetectorsRow row,
                                           List <Models.DirectionType> directions)
 {
     MOE.Common.Models.Approach newApproach = new Models.Approach();
     newApproach.SignalID             = row.SignalID;
     newApproach.ProtectedPhaseNumber = Convert.ToInt32(row.Phase);
     newApproach.DirectionType        = directions.Where(d => d.Description == row.Direction).First();
     if (Convert.ToInt32(row.Phase) == 0)
     {
         newApproach.Description = newApproach.DirectionType.Description + " (Phase Only)";
     }
     else
     {
         newApproach.Description = newApproach.DirectionType.Description + " Phase " + newApproach.ProtectedPhaseNumber.ToString();
     }
     if (row.MPH > 0)
     {
         newApproach.MPH = row.MPH;
     }
     newApproach.IsProtectedPhaseOverlap = row.Is_Overlap;
     if (Convert.ToInt32(row.Perm_Phase) > 0)
     {
         newApproach.PermissivePhaseNumber = Convert.ToInt32(row.Perm_Phase);
     }
     return(newApproach);
 }
Esempio n. 2
0
        private Models.Detector CreateNewDetector(Data.Signals.Graph_DetectorsRow row, List <Models.DetectionType> detectionstypeslist)
        {
            Models.Detector detector = new Models.Detector();
            detector.DetectorID = row.DetectorID;
            detector.DetChannel = row.Det_Channel;
            if (!row.IsNull("Date_Added"))
            {
                detector.DateAdded = row.Date_Added;
            }
            else
            {
                detector.DateAdded = DateTime.Now;
            }
            if (detector.DetectionTypes == null && detector.DetectionTypeIDs == null)
            {
                detector.DetectionTypeIDs = new List <int>();
                detector.DetectionTypes   = new List <MOE.Common.Models.DetectionType>();
            }

            GetDetectionTypes(row, detector, detectionstypeslist);

            if (row.DistanceFromStopBar > 0)
            {
                detector.DistanceFromStopBar = row.DistanceFromStopBar;
            }
            if (row.Min_Speed_Filter > 0)
            {
                detector.MinSpeedFilter = row.Min_Speed_Filter;
            }
            if (!String.IsNullOrEmpty(row.Lane) && (String.Compare(row.Lane.ToUpper(), "NULL") != 0))
            {
                detector.LaneNumber = Convert.ToInt32(row.Lane);
            }

            if (row.Decision_Point > 0)
            {
                detector.DecisionPoint = row.Decision_Point;
            }
            if (row.Movement_Delay > 0)
            {
                detector.MovementDelay = row.Movement_Delay;
            }
            if (!String.IsNullOrEmpty(row.Comments))
            {
                Models.DetectorComment comment = new Models.DetectorComment();
                comment.CommentText       = row.Comments;
                comment.TimeStamp         = DateTime.Now;
                detector.DetectorComments = new List <Models.DetectorComment>();
                detector.DetectorComments.Add(comment);
            }

            if (row.TMC_Lane_Type != null)
            {
                SetLaneInfo(row, detector);
            }


            return(detector);
        }
Esempio n. 3
0
 private void GetDetectionTypes(Data.Signals.Graph_DetectorsRow row, Models.Detector detector, List <Models.DetectionType> detectionstypeslist)
 {
     GetDetectionType(row.Has_PCD, 2, detector, detectionstypeslist);
     GetDetectionType(row.Has_Speed_Detector, 3, detector, detectionstypeslist);
     GetDetectionType(row.Has_SplitFail, 6, detector, detectionstypeslist);
     GetDetectionType(row.Has_RLM, 5, detector, detectionstypeslist);
     GetDetectionType(row.Has_TMC, 4, detector, detectionstypeslist);
 }
Esempio n. 4
0
        private void SetLaneInfo(Data.Signals.Graph_DetectorsRow row, Models.Detector detector)
        {
            switch (row.TMC_Lane_Type)
            {
            case "L1":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 3;
                break;

            case "L2":
                detector.LaneNumber     = 2;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 3;
                break;

            case "L3":
                detector.LaneNumber     = 3;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 3;
                break;

            case "L4":
                detector.LaneNumber     = 4;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 3;
                break;

            case "R1":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 2;
                break;

            case "R2":
                detector.LaneNumber     = 2;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 2;
                break;

            case "R3":
                detector.LaneNumber     = 3;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 2;
                break;

            case "R4":
                detector.LaneNumber     = 4;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 2;
                break;

            case "T1":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 1;
                break;

            case "T2":
                detector.LaneNumber     = 2;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 1;
                break;

            case "T3":
                detector.LaneNumber     = 3;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 1;
                break;

            case "T4":
                detector.LaneNumber     = 4;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 1;
                break;

            case "TL1":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 5;
                break;

            case "TR1":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 1;
                detector.MovementTypeID = 4;
                break;

            case "T1E":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 4;
                detector.MovementTypeID = 1;
                break;

            case "T2E":
                detector.LaneNumber     = 2;
                detector.LaneTypeID     = 4;
                detector.MovementTypeID = 1;
                break;

            case "T3E":
                detector.LaneNumber     = 3;
                detector.LaneTypeID     = 4;
                detector.MovementTypeID = 1;
                break;

            case "T4E":
                detector.LaneNumber     = 4;
                detector.LaneTypeID     = 4;
                detector.MovementTypeID = 1;
                break;

            case "L1B":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 2;
                detector.MovementTypeID = 3;
                break;

            case "T1B":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 2;
                detector.MovementTypeID = 1;
                break;

            case "R1B":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 2;
                detector.MovementTypeID = 2;
                break;

            case "PED":
                detector.LaneNumber     = 1;
                detector.LaneTypeID     = 3;
                detector.MovementTypeID = 1;
                break;
            }

            if (detector.LaneNumber == null)
            {
                if (!String.IsNullOrEmpty(row.Lane) && (String.Compare(row.Lane.ToUpper(), "NULL") != 0))
                {
                    detector.LaneNumber     = Convert.ToInt32(row.Lane);
                    detector.LaneTypeID     = 1;
                    detector.MovementTypeID = 1;
                }


                if (detector.LaneNumber == null)
                {
                    detector.LaneNumber     = 1;
                    detector.LaneTypeID     = 1;
                    detector.MovementTypeID = 1;
                }
            }
        }