public static int GetSigIDInBlock(int blkID, List <int> sigList) { SyDB sydb = SyDB.GetInstance(); var block = (GENERIC_SYSTEM_PARAMETERS.BLOCKS.BLOCK)Sys.GetNode(blkID, sydb.blockInfoList.Cast <Node>().ToList()); foreach (int sID in sigList) { GENERIC_SYSTEM_PARAMETERS.SIGNALS.SIGNAL sig = sydb.signalInfoList.Find(x => x.ID == sID); if (null != sig && true == SyDB.IsLocatedOnBlock(sig.Kp,sig.Track_ID,block)) { return(sID); } } return(-1); }