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); }
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); }
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); }