List <ProtocolFormat.OHTMessage.ReserveInfo> GetEntrySectionInfos(string entrySectionInfos)
        {
            List <ProtocolFormat.OHTMessage.ReserveInfo> reserve_infos = new List <ReserveInfo>();

            if (entrySectionInfos.Contains("-"))
            {
                string[] infos = entrySectionInfos.Split('-');
                foreach (string reserve in infos)
                {
                    string[] reserve_temp = reserve.Split('/'); // section_id/dir
                    var      reserve_info = new ProtocolFormat.OHTMessage.ReserveInfo()
                    {
                        ReserveSectionID = reserve_temp[0],
                        DriveDirction    = GetDriveDirction(reserve_temp[1])
                    };
                    reserve_infos.Add(reserve_info);
                }
            }
            else
            {
                string[] reserve_temp = entrySectionInfos.Split('/'); // section_id/dir
                var      reserve_info = new ProtocolFormat.OHTMessage.ReserveInfo()
                {
                    ReserveSectionID = reserve_temp[0],
                    DriveDirction    = GetDriveDirction(reserve_temp[1])
                };
                reserve_infos.Add(reserve_info);
            }
            return(reserve_infos);
        }
Esempio n. 2
0
            public TrafficControlInfo getTrafficControlInfo(ProtocolFormat.OHTMessage.ReserveInfo info)
            {
                var traffic_control_info = CommObjCacheManager.getTrafficControlInfos().
                                           Where(i => i.EntrySectionInfos.
                                                 Where(entry_section => SCUtility.isMatche(entry_section.ReserveSectionID, info.ReserveSectionID) &&
                                                       entry_section.DriveDirction == info.DriveDirction).Count() > 0)
                                           .SingleOrDefault();

                return(traffic_control_info);
            }
        public List <ReserveEnhanceInfoSection> GetReserveEnhanceInfos(ProtocolFormat.OHTMessage.ReserveInfo info)
        {
            var enhance_info = ReserveEnhanceInfosSections.
                               Where(i => i.EntrySectionInfos.
                                     Where(entry_section => SCUtility.isMatche(entry_section.ReserveSectionID, info.ReserveSectionID) &&
                                           entry_section.DriveDirction == info.DriveDirction).Count() > 0)
                               .ToList();

            return(enhance_info);
        }
Esempio n. 4
0
            public (bool isTasfficControl, TrafficControlInfo trafficControlInfo) IsTrafficControlEntrySection(ProtocolFormat.OHTMessage.ReserveInfo info)
            {
                var traffic_control = getTrafficControlInfo(info);

                return(traffic_control != null, traffic_control);
            }
        public (bool isEnhanceBlock, List <ReserveEnhanceInfoSection> enhanceBlock) IsBlockEntrySection(ProtocolFormat.OHTMessage.ReserveInfo info)
        {
            var enhanceBlock = GetReserveEnhanceInfos(info);

            return(enhanceBlock != null && enhanceBlock.Count > 0, enhanceBlock);
        }