public void RemoveLMVInfo(LMVInfo lmVInfo) { if (lmVInfoList.Contains(lmVInfo)) { lmVInfoList.Remove(lmVInfo); } }
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; } } }
public void AddLMVInfo(LMVInfo lmVInfo) { if (lmVInfo == null) { return; } if (!lmVInfoList.Contains(lmVInfo)) { lmVInfoList.Add(lmVInfo); } }
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); } }