bool LoadBaseBindingData(InterferedBindingData bindingData, string freqGuid) { ActivityEquipment equip = GetEquipment(freqGuid); ActivitySurroundStation stat = GetSurroundStation(freqGuid); if (equip != null) { bindingData.AssignFreq = equip.AssignSendFreq.ToString(); bindingData.BdWith = equip.Band_kHz.ToString(); bindingData.EmitPower = equip.Power_W.ToString(); bindingData.EquipName = equip.Name; bindingData.StationType = "现场设台"; bindingData.SetDept = equip.OrgInfo.Name; } else if (stat != null) { StationEmitInfo emitInfo = stat.EmitInfo.Where(p => p.StationGuid == freqGuid).SingleOrDefault(); if (emitInfo != null) { bindingData.AssignFreq = emitInfo.FreqEC == null ? "" : emitInfo.FreqEC.ToString(); bindingData.BdWith = emitInfo.FreqBand == null ? "" : emitInfo.FreqBand.ToString(); bindingData.EmitPower = emitInfo.EquPow.ToString(); } bindingData.EquipName = ""; bindingData.StationType = "周围台站"; bindingData.SetDept = stat.ORG_NAME; } if (equip != null || stat != null) { return(true); } return(false); }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { if (item is StationEmitInfo) { StationEmitInfo emitInfo = item as StationEmitInfo; switch (emitInfo.ClearResult) { case ClearResultEnum.ClearSucceed: return(SuccessfulTemplate); case ClearResultEnum.ClearFail: return(FailureTemplate); default: return(NoClearTemplate); } } return(base.SelectTemplate(item, container)); }
/// <summary> /// 频率信息转为发射信息 /// </summary> /// <param name="dataTable"></param> /// <returns></returns> private List <StationEmitInfo> FreqInfoToEmit(string pStatId, DataTable dataTable) { List <StationEmitInfo> stationEmits = new List <StationEmitInfo>(); foreach (DataRow dr in dataTable.Rows) { try { StationEmitInfo stationEmit = new StationEmitInfo(); stationEmit.StationGuid = pStatId; //stationEmit.PlaceGuid = this.CurrentActivityPlace.Guid; if (dataTable.Columns.Contains("GUID")) { stationEmit.Guid = dr["GUID"].ToString(); } //频段 :发射FREQ_EFB、FREQ_EFE 接收FREQ_RFB、FREQ_RFE //频点 :发射FREQ_UC、接收FREQ_LC if (dataTable.Columns.Contains("FREQ_TYPE")) { if (dr["FREQ_TYPE"].ToString() == "1") { stationEmit.FreqType = FreqType.频段; double freqEfb = 0; if (dataTable.Columns.Contains("FREQ_EFB")) { double.TryParse(dr["FREQ_EFB"].ToString(), out freqEfb); stationEmit.FreqEFB = freqEfb; } double freqEfe = 0; if (dataTable.Columns.Contains("FREQ_EFE")) { double.TryParse(dr["FREQ_EFE"].ToString(), out freqEfe); stationEmit.FreqEFE = freqEfe; } double freqRfb = 0; if (dataTable.Columns.Contains("FREQ_RFB")) { double.TryParse(dr["FREQ_RFB"].ToString(), out freqRfb); stationEmit.FreqRFB = freqRfb; } double freqRfe = 0; if (dataTable.Columns.Contains("FREQ_RFE")) { double.TryParse(dr["FREQ_RFE"].ToString(), out freqRfe); stationEmit.FreqRFE = freqRfe; } } else { stationEmit.FreqType = FreqType.频点; double freqUc = 0; if (dataTable.Columns.Contains("FREQ_UC")) { double.TryParse(dr["FREQ_UC"].ToString(), out freqUc); stationEmit.FreqEC = freqUc; } double freqLc = 0; if (dataTable.Columns.Contains("FREQ_LC")) { double.TryParse(dr["FREQ_LC"].ToString(), out freqLc); stationEmit.FreqRC = freqLc; } stationEmit.FreqEFB = null; stationEmit.FreqEFE = null; stationEmit.FreqRFB = null; stationEmit.FreqRFE = null; } } else { //stationEmit.FreqType = null; } #region 注释以前获取频率的方法 #region 频率发射 //stationEmit.FreqEC = 0; //if (dataTable.Columns.Contains("FREQ_UC")) //{ // double freqUc = 0; // double.TryParse(dr["FREQ_UC"].ToString(), out freqUc); // if (freqUc == 0 || double.IsNaN(freqUc)) // { // if (dataTable.Columns.Contains("FREQ_EFB")) // { // freqUc = 0; // // double.TryParse(dr["FREQ_EFB"].ToString(), out freqUc); // if (freqUc == 0 || double.IsNaN(freqUc)) // { // if (dataTable.Columns.Contains("FREQ_EFE")) // { // freqUc = 0; // double.TryParse(dr["FREQ_EFE"].ToString(), out freqUc); // if (!double.IsNaN(freqUc)) // { // stationEmit.FreqEC = freqUc; // } // } // } // else // stationEmit.FreqEC = freqUc; // } // } // else // stationEmit.FreqEC = freqUc; //} //else if (dataTable.Columns.Contains("FREQ_EFB")) //{ // double freqUc = 0; // double.TryParse(dr["FREQ_EFB"].ToString(), out freqUc); // if (freqUc == 0 || double.IsNaN(freqUc)) // { // if (dataTable.Columns.Contains("FREQ_EFE")) // { // freqUc = 0; // double.TryParse(dr["FREQ_EFE"].ToString(), out freqUc); // if (!double.IsNaN(freqUc)) // { // stationEmit.FreqEC = freqUc; // } // } // } // else // stationEmit.FreqEC = freqUc; //} //else if (dataTable.Columns.Contains("FREQ_EFE")) //{ // double freqUc = 0; // double.TryParse(dr["FREQ_EFE"].ToString(), out freqUc); // if (!double.IsNaN(freqUc)) // { // stationEmit.FreqEC = freqUc; // } //} #endregion 频率发射结束 #region 频率接收 //stationEmit.FreqRC = 0; //if (dataTable.Columns.Contains("FREQ_LC")) //{ // double freqUc = 0; // double.TryParse(dr["FREQ_LC"].ToString(), out freqUc); // if (freqUc == 0 || double.IsNaN(freqUc)) // { // if (dataTable.Columns.Contains("FREQ_RFB")) // { // freqUc = 0; // double.TryParse(dr["FREQ_RFB"].ToString(), out freqUc); // if (freqUc == 0 || double.IsNaN(freqUc)) // { // if (dataTable.Columns.Contains("FREQ_RFE")) // { // freqUc = 0; // double.TryParse(dr["FREQ_RFE"].ToString(), out freqUc); // if (!double.IsNaN(freqUc)) // { // stationEmit.FreqRC = freqUc; // } // } // } // else // stationEmit.FreqRC = freqUc; // } // } // else // stationEmit.FreqRC = freqUc; //} //else if (dataTable.Columns.Contains("FREQ_RFB")) //{ // double freqUc = 0; // double.TryParse(dr["FREQ_RFB"].ToString(), out freqUc); // if (freqUc == 0 || double.IsNaN(freqUc)) // { // if (dataTable.Columns.Contains("FREQ_RFE")) // { // freqUc = 0; // double.TryParse(dr["FREQ_RFE"].ToString(), out freqUc); // if (!double.IsNaN(freqUc)) // { // stationEmit.FreqRC = freqUc; // } // } // } // else // stationEmit.FreqRC = freqUc; //} //else if (dataTable.Columns.Contains("FREQ_RFE")) //{ // double freqUc = 0; // double.TryParse(dr["FREQ_RFE"].ToString(), out freqUc); // if (!double.IsNaN(freqUc)) // { // stationEmit.FreqRC = freqUc; // } //} #endregion 频率接收结束 #endregion //频率带宽 stationEmit.FreqBand = 0; if (dataTable.Columns.Contains("FREQ_E_BAND")) { double freqBand = 0; double.TryParse(dr["FREQ_E_BAND"].ToString(), out freqBand); stationEmit.FreqBand = freqBand; } //调制方式 if (dataTable.Columns.Contains("FREQ_MOD")) { stationEmit.FreqMod = dr["FREQ_MOD"].ToString(); } if (stationEmits.FirstOrDefault(p => p.FreqEC == stationEmit.FreqEC) == null) //过滤重复的发射频率 { stationEmits.Add(stationEmit); } } catch { } } return(stationEmits); }