コード例 #1
0
 public void RemoveLMVInfo(LMVInfo lmVInfo)
 {
     if (lmVInfoList.Contains(lmVInfo))
     {
         lmVInfoList.Remove(lmVInfo);
     }
 }
コード例 #2
0
        private void CreateLMInfos(DatabaseComponent database)
        {
            foreach (var item in database.LMCommands)
            {
                lmCommandList.Add(new LMCommandPara(item));
            }
            foreach (var item in database.LMHDParas)
            {
                lmHDParaList.Add(new LMHDPara(item));
            }
            foreach (var item in database.LMVInfos)
            {
                LMVInfo lmVInfo   = new LMVInfo(item);
                var     lmDivFres = database.LMDivFres.Where(o => o.ChannelID == item.ChannelID).ToArray();
                foreach (var lmDivfre in lmDivFres)
                {
                    lmVInfo.DivFres.Add(new LMDivFre(lmDivfre));
                }
                lmVInfoList.Add(lmVInfo);
            }
            foreach (var item in database.LMAnInfos)
            {
                lmAnInfoList.Add(new LMAnInfo(item));
                if (item.SignalType == 2)
                {
                    int slotnum = item.SlotNum;
                }
            }
            foreach (var item in database.LMVideos)
            {
                lmVideos.Add(new LMVedio(item));
            }
            foreach (var item in database.TrdDataContracts)
            {
                trdDataMapperList.Add(new ThirdDataMapper(item));
            }

            var availableRS = LMAnInfos.Where(o => o.SignalType == SignalType.Digital).GroupBy(o => o.IP);

            foreach (var item in availableRS)
            {
                var availableRSlotNums = item.Select(o => o.SlotNum).Distinct().ToArray();
                var availableRChaNs    = item.Select(o => o.ChaN).Distinct().ToArray();
                foreach (var lmHD in LMHDParas.Where(o => o.IP == item.Key))
                {
                    lmHD.AvailableRSlotNums = availableRSlotNums;
                    lmHD.AvailableRChaNs    = availableRChaNs;
                }

                foreach (var lmVInfo in LMVInfos.Where(o => o.IP == item.Key))
                {
                    lmVInfo.AvailableRSlotNums = availableRSlotNums;
                    lmVInfo.AvailableRChaNs    = availableRChaNs;
                }
            }
        }
コード例 #3
0
 public void AddLMVInfo(LMVInfo lmVInfo)
 {
     if (lmVInfo == null)
     {
         return;
     }
     if (!lmVInfoList.Contains(lmVInfo))
     {
         lmVInfoList.Add(lmVInfo);
     }
 }
コード例 #4
0
        public void Resolve(string ip)
        {
            if (LMCommands.Select(o => o.IP).Contains(ip))
            {
                throw new Exception(string.Format("IP:{0}已存在", ip));
            }
            var lmCommadnContract = database.LMCommands.Where(o => o.IP == ip).SingleOrDefault();

            if (lmCommadnContract == null)
            {
                throw new Exception(string.Format("数据库不存在IP:{0}的数采器", ip));
            }
            LMCommandPara lmCommandPara = new LMCommandPara(lmCommadnContract);

            lmCommandList.Add(lmCommandPara);

            var availableRSlotNums = database.LMAnInfos.Where(o => o.IP == ip && o.SignalType == (int)SignalType.Digital).Select(o => o.SlotNum + 1).Distinct().ToArray();
            var availableRChaNs    = database.LMAnInfos.Where(o => o.IP == ip && o.SignalType == (int)SignalType.Digital).Select(o => o.ChaN + 1).Distinct().ToArray();

            foreach (var item in database.LMHDParas.Where(o => o.IP == ip))
            {
                LMHDPara lmHDPara = new LMHDPara(item);
                lmHDPara.AvailableRSlotNums = availableRSlotNums;
                lmHDPara.AvailableRChaNs    = availableRChaNs;
                lmHDParaList.Add(lmHDPara);
            }

            foreach (var item in database.LMVInfos.Where(o => o.IP == ip))
            {
                LMVInfo lmVInfo = new LMVInfo(item);
                lmVInfo.AvailableRSlotNums = availableRSlotNums;
                lmVInfo.AvailableRChaNs    = availableRChaNs;
                var lmDivFres = database.LMDivFres.Where(o => o.ChannelID == item.ChannelID).ToArray();
                foreach (var div in lmDivFres)
                {
                    LMDivFre divFre = new LMDivFre(div);
                    lmVInfo.DivFres.Add(divFre);
                }
                lmVInfoList.Add(lmVInfo);
            }

            foreach (var item in database.LMAnInfos.Where(o => o.IP == ip))
            {
                LMAnInfo lmAnInfo = new LMAnInfo(item);
                lmAnInfoList.Add(lmAnInfo);
            }
        }