/// <summary> /// 발령 리스트로 부터 해당 ID 의 Index를 반환한다. /// </summary> /// <param name="_id"></param> /// <returns></returns> public int getWMessageIndex(uint _id) { try { WMessage srcComp = new WMessage(); WMessageIDComparer tarComp = new WMessageIDComparer(); srcComp.ID = _id; this.wMessageList.Sort(tarComp); int idx = this.wMessageList.BinarySearch(srcComp, tarComp); return(idx); } catch (Exception e) { Console.WriteLine("getWMessageIndex : {0}", e.Message); return(-1); } }
private void WmsgFinished(WMessage wmsg) { try { string tmpBroad = this.datamanager.getBroadName((uint)Properties.Settings.Default.cnfBroad); //============박찬호 수정 - 2013/11/19======================================== if (tmpBroad == "<KBS>" || tmpBroad == "<MBC>" || tmpBroad == "<SBS>" || tmpBroad == "<YTN>") //============================================================================ { WMessage tmpwmsg = new WMessage(); WMessageIDComparer tmpcomparer = new WMessageIDComparer(); tmpwmsg.ID = wmsg.ID; this.datamanager.BroadWmsgList.Sort(tmpcomparer); WMessage w = this.datamanager.BroadWmsgList[this.datamanager.BroadWmsgList.BinarySearch(tmpwmsg, tmpcomparer)]; this.datamanager.BroadWmsgList.Remove(wmsg); } this.DmbIssuesLV.Items.RemoveByKey(wmsg.ID.ToString()); this.controlset.SetListViewIndex(this.DmbIssuesLV); this.MainNotifyEffect.Stop(); this.MainNotifyEffect.DeleteAllMsg(); string tmpfact = string.Empty; tmpfact = (wmsg.SendMode == (byte)0) ? "시험" : (wmsg.SendMode == (byte)1) ? "훈련" : "실제"; DateTime dt = DateTime.Now; this.notifyeffectstr = "최근 " + dt.ToString("yyyy-MM-dd HH:mm:ss") + " 에 " + tmpfact + " 발령 종료되었습니다."; this.MainNotifyEffect.Blink = true; this.MainNotifyEffect.AddMsg(this.notifyeffectstr, Properties.Resources.megaphone_48x48_); this.MainNotifyEffect.Start(); } catch (Exception ex) { Console.WriteLine("MainViewForm.WmsgFinished - " + ex.Message); } }
public void SetStatusLB() { try { if (this.DmbIssuesLV.SelectedItems.Count == 1) { WMessage wmsg = new WMessage(); WMessageIDComparer comparer = new WMessageIDComparer(); wmsg.ID = uint.Parse(this.DmbIssuesLV.SelectedItems[0].Name); datamanager.BroadWmsgList.Sort(comparer); WMessage w = datamanager.BroadWmsgList[datamanager.BroadWmsgList.BinarySearch(wmsg, comparer)]; //발령일시 this.dateTB.Text = w.DDateTime.ToString("yyyy-MM-dd HH:mm:ss"); //실제구분 string tmpfact = string.Empty; tmpfact = (w.SendMode == (byte)0) ? "시험" : (w.SendMode == (byte)1) ? "훈련" : "실제"; this.disterTB.Text = tmpfact; //발령상태 this.priTB.Text = this.DmbIssuesLV.SelectedItems[0].SubItems[6].Text; //발령구분 if (w.SendPart != 0) { this.regionTB.Text = w.SendPart.ToString(); } else { this.regionTB.Text = string.Empty; } //방송사 string tmp = string.Empty; for (int i = 0; i < w.BCenterList.Count; i++) { tmp += datamanager.getBroadNameV2(w.BCenterList[i].StageID); } if (tmp != string.Empty) { this.partTB.Text = tmp.Substring(2, (tmp.Length - 2)); } else { this.partTB.Text = tmp; } //DMB단문 if (w.BoolControl) { this.dmbmTB.Text = "수신기 상태/제어 요청"; } else if (w.SendPart == WMessage.E_sendPart.STRD) { this.dmbmTB.Text = "수신기 저장메시지 요청"; } else if (w.SendPart == WMessage.E_sendPart.WARN) { this.dmbmTB.Text = "수신기 경보사이렌 요청"; } else { this.dmbmTB.Text = w.Message; } //TTS단문 if (w.BoolControl) { this.ttsmTB.Text = "수신기 상태/제어 요청"; } else if (w.SOPT_STOREDMESSAGE) { this.ttsmTB.Text = "수신기 저장메시지 요청"; } else if (w.SendPart == WMessage.E_sendPart.WARN) { this.ttsmTB.Text = "수신기 경보사이렌 요청"; } else { this.ttsmTB.Text = w.TTSMsg; } //SMS단문 this.smsmTB.Text = w.SMSMsg; } else { this.dateTB.Text = string.Empty; this.disterTB.Text = string.Empty; this.priTB.Text = string.Empty; this.regionTB.Text = string.Empty; this.partTB.Text = string.Empty; this.dmbmTB.Text = string.Empty; this.ttsmTB.Text = string.Empty; this.smsmTB.Text = string.Empty; } } catch (Exception ex) { Console.WriteLine("SetStatusLB - " + ex.Message); } }
public void SetIssuesUpdate() { try { WaitBarMng.Start(); WaitBarMng.Msg = "데이터 조회중 입니다..."; List <WMessage> datewmsgList = new List <WMessage>(); WMessageIDComparer wcomparer = new WMessageIDComparer(); if (this.DmbIssueListView.Items.Count != 0) { this.DmbIssueListView.Items.Clear(); } datewmsgList = datamanager.GetDateWMessageList((DateTime)this.StartDateTimePicker.Value, (DateTime)this.EndDateTimePicker.Value); datewmsgList.Sort(wcomparer); if (datewmsgList.Count != 0) { foreach (WMessage wmessage in datewmsgList) { if (wmessage.SendPart == WMessage.E_sendPart.SMS) { continue; } if (wmessage.BCenterList.Count != 0) { foreach (broadcast broad in wmessage.BCenterList) { if (broad.StageID != (uint)Properties.Settings.Default.cnfBroad) { continue; } this.DmbIssueListView.Items.Add(this.orderlistset.setWmsgCollection(wmessage)); } } else if (wmessage.BCenterList.Count == 0)//특수수신기 제어 또는 상태 요청 시 { string broadTmp = this.datamanager.getBroadName((uint)Properties.Settings.Default.cnfBroad); //============박찬호 수정 - 2013/11/19======================================== if (broadTmp == "<KBS>" || broadTmp == "<MBC>" || broadTmp == "<SBS>" || broadTmp == "<YTN>") //============================================================================ { this.DmbIssueListView.Items.Add(this.orderlistset.setWmsgCollection(wmessage)); } } } this.orderlistset.PkidIndex = 0; } this.controlset.SetListViewIndex(this.DmbIssueListView); WaitBarMng.Close(); } catch (Exception ex) { Console.WriteLine("IssueListForm.SetIssuesUpdate - " + ex.Message); WaitBarMng.Close(); } }