/// <summary> /// 铁塔配置参数设置 /// </summary> public void doTowerParaSetting() { //塔位号 List<string> hangList = towerList.Where(item =>item.TowerType == 1).Select(item => item.TowerName).ToList(); List<string> strainList = towerList.Where(item => item.TowerType != 1).Select(item => item.TowerName).ToList(); towerParaSettingWindow = new TowerParaSettingWindow(); ((TowerParaSettingViewModel)towerParaSettingWindow.DataContext).CloseWindowEvent += TowerParaSettingWindowClosed; ((TowerParaSettingViewModel)towerParaSettingWindow.DataContext).HangTowerNameList = hangList; ((TowerParaSettingViewModel)towerParaSettingWindow.DataContext).StrainTowerNameList = strainList; towerParaSettingWindow.ShowDialog(); }
public void TowerParaSettingWindowClosed(object sender, IList<TowrParaSetting> hangList, IList<TowrParaSetting> strainList) { TowerParaSettingViewModel model = (TowerParaSettingViewModel)sender; model.CloseWindowEvent -= TowerParaSettingWindowClosed; if (towerParaSettingWindow != null) towerParaSettingWindow.Close(); towerParaSettingWindow = null; //设置铁塔配置参数 if (hangList != null) { var sourcList = towerList; int startIndex = 0, endIndex = 0; foreach (TowrParaSetting item in hangList) { try { startIndex = towerList.Where(t => t.TowerName == item.StartTowerName).Single().ID; endIndex = towerList.Where(t => t.TowerName == item.EndTowerName).Single().ID; //筛选需要修改的序列信息 var sourceList = sourcList.Where(t => t.ID >= startIndex && t.ID <= endIndex && t.TowerType == 1).ToList(); foreach (TowerSerial serial in sourceList) { towerList.Where(k => k.ID == serial.ID).First().TowerPar = item.TowerPara; } } catch (Exception ex) { string msg = ex.Message; } } } if (strainList != null) { var sourcList = towerList; int startIndex = 0, endIndex = 0; foreach (TowrParaSetting item in strainList) { try { startIndex = towerList.Where(t => t.TowerName == item.StartTowerName).Single().ID; endIndex = towerList.Where(t => t.TowerName == item.EndTowerName).Single().ID; //筛选需要修改的序列信息 var sourceList = sourcList.Where(t => t.ID >= startIndex && t.ID <= endIndex && t.TowerType != 1).ToList(); foreach (TowerSerial serial in sourceList) { towerList.Where(k => k.ID == serial.ID).First().TowerPar = item.TowerPara; } } catch (Exception ex) { string msg = ex.Message; } } } if (hangList != null || strainList != null) { View.RefreshTowerPara(towerList.ToList()); } }