private void delNRnotice(int rowIndex) { try { NumberedNoticeObj obj = (NumberedNoticeObj)dgv_notice.Rows[rowIndex].Tag;//n|메시지|발신자id|mode|seqnum|title //실시간 공지사항 수신시 확인결과 전송 처리 Notice nform = new Notice(connection, obj.ToNoticeObj()); nform.Show(); nform.Activate(); connection.SendMsgDeleteUnReadOnChecked(obj.SeqNum); dgv_notice.Rows.RemoveAt(rowIndex); noticeCnt = noticeCnt - 1; if (noticeCnt >= 0) { if (noticeCnt == 0) { panel_notice.Enabled = false; } label_notice.Text = "부재중 공지(" + noticeCnt + ")"; connection.UpdateUnCheckedData(-1, noticeCnt, -1, -1); } } catch (Exception exception) { Logger.error(exception.ToString()); } }
/// <summary> /// msg 포맷: L|time‡content‡mode‡sender‡seqnum‡title|... /// </summary> /// <param name="msg"></param> public void AssignListInfo(string[] msg) { try { listView.Items.Clear(); foreach (string item in msg) { if (item.Equals("L")) { continue; } NumberedNoticeObj noticeObj = new NumberedNoticeObj(item); ListViewItem listItem = null; if (noticeObj != null) { Logger.info("notice_time = " + noticeObj.NoticeTime); listItem = listView.Items.Add(noticeObj.NoticeTime, noticeObj.Mode, null); if (noticeObj.IsEmergency) { listItem.ForeColor = Color.Red; } if (noticeObj.Content.Contains("\n\r\n\r")) { noticeObj.Content.Replace("♪", " "); } listItem.SubItems.Add(noticeObj.Title); listItem.SubItems.Add(noticeObj.Content); listItem.SubItems.Add(Members.GetByUserId(noticeObj.SenderId).Name + "(" + noticeObj.SenderId + ")"); listItem.SubItems.Add(noticeObj.NoticeTime); listItem.Tag = noticeObj; Logger.info("seqnum = " + noticeObj.SeqNum); listView.ListViewItemSorter = new ListViewItemComparerDe(3); } } } catch (Exception ex1) { Logger.error(ex1.ToString()); } }
/// <summary> /// /// </summary> /// <param name="count"></param> /// <param name="msg">T|sender†content†time†mode†seqnum†title|sender†content†time†mode†seqnum|...</param> public void SetNoticeValues(int count, string[] msg) { dgv_notice.Visible = true; panel_notice.Enabled = true; label_notice.Text = "부재중 공지 (" + count + ")"; noticeCnt = count; foreach (string item in msg) { if (item.Equals("T")) { continue; } NumberedNoticeObj obj = new NumberedNoticeObj(item); bool isExist = false; foreach (DataGridViewRow itemObj in dgv_notice.Rows) { if (((NumberedNoticeObj)itemObj.Tag != null) && ((NumberedNoticeObj)itemObj.Tag).SeqNum == obj.SeqNum) { isExist = true; break; } } if (!isExist) { int rownum = dgv_notice.Rows.Add(new object[] { obj.Mode, obj.Title, obj.Content, Members.GetByUserId(obj.SenderId).Name + "(" + obj.SenderId + ")", obj.NoticeTime }); DataGridViewRow row = dgv_notice.Rows[rownum]; row.Tag = obj; if (obj.IsEmergency) { row.DefaultCellStyle.ForeColor = Color.Red; } } } }
/// <summary> /// msg 포맷: L|time‡content‡mode‡sender‡seqnum‡title|... /// </summary> /// <param name="msg"></param> public void AssignListInfo(string[] msg) { try { listView.Items.Clear(); foreach (string item in msg) { if (item.Equals("L")) continue; NumberedNoticeObj noticeObj = new NumberedNoticeObj(item); ListViewItem listItem = null; if (noticeObj != null) { Logger.info("notice_time = " + noticeObj.NoticeTime); listItem = listView.Items.Add(noticeObj.NoticeTime, noticeObj.Mode, null); if (noticeObj.IsEmergency) listItem.ForeColor = Color.Red; if (noticeObj.Content.Contains("\n\r\n\r")) noticeObj.Content.Replace("♪", " "); listItem.SubItems.Add(noticeObj.Title); listItem.SubItems.Add(noticeObj.Content); listItem.SubItems.Add(Members.GetByUserId(noticeObj.SenderId).Name + "(" + noticeObj.SenderId + ")"); listItem.SubItems.Add(noticeObj.NoticeTime); listItem.Tag = noticeObj; Logger.info("seqnum = " + noticeObj.SeqNum); listView.ListViewItemSorter = new ListViewItemComparerDe(3); } } } catch (Exception ex1) { Logger.error(ex1.ToString()); } }
/// <summary> /// /// </summary> /// <param name="count"></param> /// <param name="msg">T|sender†content†time†mode†seqnum†title|sender†content†time†mode†seqnum|...</param> public void SetNoticeValues(int count, string[] msg) { dgv_notice.Visible = true; panel_notice.Enabled = true; label_notice.Text = "부재중 공지 (" + count + ")"; noticeCnt = count; foreach (string item in msg) { if (item.Equals("T")) continue; NumberedNoticeObj obj = new NumberedNoticeObj(item); bool isExist = false; foreach (DataGridViewRow itemObj in dgv_notice.Rows) { if (((NumberedNoticeObj)itemObj.Tag != null) && ((NumberedNoticeObj)itemObj.Tag).SeqNum == obj.SeqNum) { isExist = true; break; } } if (!isExist) { int rownum = dgv_notice.Rows.Add(new object[] {obj.Mode, obj.Title, obj.Content, Members.GetByUserId(obj.SenderId).Name + "(" + obj.SenderId + ")", obj.NoticeTime }); DataGridViewRow row = dgv_notice.Rows[rownum]; row.Tag = obj; if (obj.IsEmergency) row.DefaultCellStyle.ForeColor = Color.Red; } } }