コード例 #1
0
ファイル: Converter.cs プロジェクト: zfx1982/ATSPM
        private void SetLaneGroupValues(Models.Approach Appr, Models.LaneGroup lg, DetectorConverter dc, int movementID, int lanetypeID)
        {
            Models.MovementType mt = (from r in db.MovementTypes
                                      where r.MovementTypeID == movementID
                                      select r).FirstOrDefault();

            lg.Description             = Appr.Description + mt.Abbreviation;
            lg.MovementTypeID          = movementID;
            lg.LaneGroupTypeID         = lanetypeID;
            lg.ProtectedPhaseNumber    = dc.ProtectedPhase;
            lg.IsProtectedPhaseOverlap = dc.IsOverlap;
            if (dc.PermissivePhase > 0)
            {
                lg.PermissivePhaseNumber    = dc.PermissivePhase;
                lg.IsPermissivePhaseOverlap = false;
            }
        }
コード例 #2
0
ファイル: Converter.cs プロジェクト: zfx1982/ATSPM
        public void GetDetectorList()
        {
            //DetectorsList = new List<Models.Graph_Detectors>();
            DetectorConverters = new List <DetectorConverter>();

            foreach (MOE.Common.Data.Signals.Graph_DetectorsRow row in DetectorsTable)
            {
                List <MOE.Common.Models.DetectionType> detectionstypeslist = (from r in db.DetectionTypes
                                                                              select r).ToList();

                if (!row.IsNull("Phase") || row.Phase != "0" || row.Phase != "" || row.Det_Channel != 0)
                {
                    DetectorConverter dc = new DetectorConverter();

                    Models.Graph_Detectors d = new Models.Graph_Detectors();
                    if (!row.IsNull("Date_Added"))
                    {
                        d.Date_Added = row.Date_Added;
                    }
                    else
                    {
                        d.Date_Added = DateTime.Now;
                    }
                    d.Det_Channel = row.Det_Channel;


                    d.DetectorID = row.DetectorID;

                    if (!row.IsNull("DistanceFromStopBar"))
                    {
                        d.DistanceFromStopBar = row.DistanceFromStopBar;
                    }
                    else
                    {
                        d.DistanceFromStopBar = 0;
                    }
                    if (!row.IsNull("Min_Speed_Filter"))
                    {
                        d.Min_Speed_Filter = row.Min_Speed_Filter;
                    }
                    else
                    {
                        d.Min_Speed_Filter = 0;
                    }
                    if (d.DetectionTypes == null && d.DetectionTypeIDs == null)
                    {
                        d.DetectionTypeIDs = new List <int>();
                        d.DetectionTypes   = new List <MOE.Common.Models.DetectionType>();
                        //MOE.Common.Models.DetectionType basicdettype = (from r in detectionstypeslist
                        //                                                where r.DetectionTypeID == 1
                        //                                                select r).FirstOrDefault();


                        //d.DetectionTypes.Add(basicdettype);
                        //d.DetectionTypeIDs.Add(basicdettype.DetectionTypeID);
                    }

                    if (!row.IsNull("Has_PCD") && row.Has_PCD)
                    {
                        MOE.Common.Models.DetectionType dettype = (from r in detectionstypeslist
                                                                   where r.DetectionTypeID == 2
                                                                   select r).FirstOrDefault();

                        d.DetectionTypes.Add(dettype);
                        d.DetectionTypeIDs.Add(dettype.DetectionTypeID);
                    }
                    if (!row.IsNull("Has_Speed_Detector") && row.Has_Speed_Detector)
                    {
                        MOE.Common.Models.DetectionType dettype = (from r in detectionstypeslist
                                                                   where r.DetectionTypeID == 3
                                                                   select r).FirstOrDefault();

                        d.DetectionTypes.Add(dettype);
                        d.DetectionTypeIDs.Add(dettype.DetectionTypeID);
                    }
                    if (!row.IsNull("Has_SplitFail") && row.Has_SplitFail)
                    {
                        MOE.Common.Models.DetectionType dettype = (from r in detectionstypeslist
                                                                   where r.DetectionTypeID == 4
                                                                   select r).FirstOrDefault();

                        d.DetectionTypes.Add(dettype);
                        d.DetectionTypeIDs.Add(dettype.DetectionTypeID);
                    }
                    if (!row.IsNull("Has_RLM") && row.Has_RLM)
                    {
                        MOE.Common.Models.DetectionType dettype = (from r in detectionstypeslist
                                                                   where r.DetectionTypeID == 5
                                                                   select r).FirstOrDefault();

                        d.DetectionTypes.Add(dettype);
                        d.DetectionTypeIDs.Add(dettype.DetectionTypeID);
                    }
                    if (!row.IsNull("Has_TMC") && row.Has_TMC)
                    {
                        MOE.Common.Models.DetectionType dettype = (from r in detectionstypeslist
                                                                   where r.DetectionTypeID == 6
                                                                   select r).FirstOrDefault();

                        d.DetectionTypes.Add(dettype);
                        d.DetectionTypeIDs.Add(dettype.DetectionTypeID);
                    }
                    if (!row.IsNull("Direction") && row.Direction.ToString() != "")
                    {
                        switch (row.Direction.ToString())
                        {
                        case "Northbound":
                            dc.DirectionTypeID = 1;
                            break;

                        case "Southbound":
                            dc.DirectionTypeID = 2;
                            break;

                        case "Eastbound":
                            dc.DirectionTypeID = 3;
                            break;

                        case "Westbound":
                            dc.DirectionTypeID = 4;
                            break;
                        }
                    }

                    if (!row.IsNull("Movement_Delay"))
                    {
                        dc.MovementDelay = row.Movement_Delay;
                    }
                    else
                    {
                        dc.MovementDelay = 0;
                    }

                    if (!row.IsNull("MPH"))
                    {
                        dc.MPH = row.MPH;
                    }
                    else
                    {
                        dc.MPH = 0;
                    }

                    if (!row.IsNull("TMC_Lane_Type") && row.TMC_Lane_Type != "")
                    {
                        switch (row.TMC_Lane_Type)
                        {
                        case "L1":
                            dc.LaneNumber     = 1;
                            dc.LaneTypeID     = 1;
                            dc.MovementTypeID = 3;
                            break;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                        case "PED":
                            dc.LaneNumber     = 1;
                            dc.LaneTypeID     = 3;
                            dc.MovementTypeID = 1;
                            break;
                        }
                    }
                    else
                    {
                        dc.LaneNumber     = 1;
                        dc.LaneTypeID     = 1;
                        dc.MovementTypeID = 1;
                    }

                    if (dc.LaneNumber == 0)
                    {
                        dc.LaneNumber = 1;
                    }

                    if (dc.LaneTypeID == 0)
                    {
                        dc.LaneTypeID = 1;
                    }

                    if (dc.MovementTypeID == 0)
                    {
                        dc.MovementTypeID = 1;
                    }

                    if (!row.IsNull("Perm_Phase") && row.Perm_Phase != "0" && row.Perm_Phase != "")
                    {
                        dc.PermissivePhase = Convert.ToInt32(row.Phase);
                    }

                    if (!row.IsNull("Is_Overlap") && row.Is_Overlap)
                    {
                        dc.IsOverlap = row.Is_Overlap;
                    }

                    dc.ProtectedPhase     = Convert.ToInt32(row.Phase);
                    dc.GraphDetectorModel = d;
                    dc.SignalID           = row.SignalID;


                    DetectorConverters.Add(dc);
                }
            }
        }