//공지사항 삭제 이벤트 private void noticeDel_Click(object sender, EventArgs e) { String noticeNum = string.Empty; if (lv_notice.SelectedItems.Count == 1) { ListView.SelectedListViewItemCollection items = lv_notice.SelectedItems; foreach (ListViewItem item in items) { noticeNum = item.SubItems[0].Text; if (!item.SubItems[4].Text.Equals(MainProg.GetUserId())) { MessageBox.Show("작성자만 삭제할 수 있습니다."); return; } } if (MessageBox.Show("선택하신 공지를 삭제하시겠습니까?", "YesOrNo", MessageBoxButtons.YesNo) == DialogResult.Yes) { //Hashtable _param = new Hashtable(); //_param.Add("C_INDEX", noticeNum); //_ins.DeleteHashData(_param, "delBoard"); PacketData_SendNotice req = new PacketData_SendNotice(); req.noticeNum = Int32.Parse(noticeNum); req.noticeProcess = "D"; MainProg.client.Send(req); MessageBox.Show("삭제되었습니다."); //ShowBoard(false, null); } } }
//창 초기화 public MessageView(Hashtable messageDetail, String userId, int messageNo) { InitializeComponent(); this.Text = "메세지 보기"; //회신할때 사용 _messageNo = messageNo; lvFileList.View = View.Details; lvFileList.Columns.Add("fileName", 600, HorizontalAlignment.Left); lvFileList.Columns.Add("fileFullName", 0); lvFileList.HeaderStyle = ColumnHeaderStyle.None; //창 열릴때 본 시간 저장 Hashtable _param = new Hashtable(); _param.Add("C_INDEX", messageNo); _param.Add("ID_READER", MainProg.GetUserId()); //new _Ins().UpdatetHashData(_param, "updateBoardDetail"); PacketData_SendMessage_Read req = new PacketData_SendMessage_Read(); req.criInfo = _param; MainProg.client.Send(req); //상세화면 표시 viewMessageDetail(messageDetail); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Get Reference to the current Process Process thisProc = Process.GetCurrentProcess(); if (IsProcessOpen("Kyobo_Msg_Client") == false) { //System.Windows.MessageBox.Show("Application not open!"); //System.Windows.Application.Current.Shutdown(); MainProg.Instance.Init(); Application.Run(MainProg.GetLoginForm()); } else { // Check how many total processes have the same name as the current one if (Process.GetProcessesByName(thisProc.ProcessName).Length > 1) { // If ther is more than one, than it is already running. System.Windows.MessageBox.Show("프로그램이 실행 중에 있습니다."); Application.Exit(); return; } else { MainProg.Instance.Init(); Application.Run(MainProg.GetLoginForm()); } } }
//화면 초기 이벤트 private void SetInfo(UserDetailInfo udll) { orgName.Text = udll.GROUPNAME; rankName.Text = udll.RANKNAME; name.Text = udll.MEMBERNAME; email.Text = udll.EMAIL; tel.Text = udll.OFFICEPHONE; hp.Text = udll.HP; string _photoPath = MainProg.CConf.FtpPath + "MPhoto/"; string _fileName = udll.MEMBERID + ".jpg"; byte[] _imgByte = _cu.GetImgByte(_photoPath, MainProg.CConf.FtpUser, MainProg.CConf.FtpPass, _fileName); profileBox.Image = _cu.ByteToImage(_imgByte); profileBox.SizeMode = PictureBoxSizeMode.StretchImage; if (udll.MEMBERID.Equals(MainProg.GetUserId())) { btn_savePhoto.Visible = true; } else { btn_savePhoto.Visible = false; } }
private void MessageFormBox_DragDrop(object sender, DragEventArgs e) { var dropped = ((string[])e.Data.GetData(DataFormats.FileDrop)); var files = dropped.ToList(); if (!files.Any()) { return; } foreach (string drop in dropped) { if (Directory.Exists(drop)) { files.AddRange(Directory.GetFiles(drop, "*.*", SearchOption.AllDirectories)); } } lvFileList.Update(); Random r = new Random(); String _modifyFileName = "me_" + MainProg.GetUserId() + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + r.Next(0, 1000).ToString(); String[] _fileItem = { Path.GetFileName(files[0]), files[0], _modifyFileName }; ListViewItem _itemList = new ListViewItem(_fileItem); lvFileList.Items.Add(_itemList); lvFileList.EndUpdate(); }
//공지사항 수정 이벤트 private void noticeModify_Click(object sender, EventArgs e) { String noticeNum = string.Empty; if (lv_notice.SelectedItems.Count == 1) { ListView.SelectedListViewItemCollection items = lv_notice.SelectedItems; foreach (ListViewItem item in items) { noticeNum = item.SubItems[0].Text; if (!item.SubItems[4].Text.Equals(MainProg.GetUserId())) { MessageBox.Show("작성자만 수정할 수 있습니다."); return; } } PacketData_NoticeDetail req = new PacketData_NoticeDetail(); req.noticeNum = noticeNum; req.noticeProcess = "U"; MainProg.client.Send(req); //NoticeWrite ni = new NoticeWrite(noticeNum); //ni.DataPushEvent_Sub += new NoticeWrite.Sub_DataPushEventHandler(ShowBoard); //ni.Show(); } }
private void btn_openFiile_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { //File명과 확장자를 가지고 온다. string fileName = ofd.SafeFileName; //File경로와 File명을 모두 가지고 온다. string fileFullName = ofd.FileName; //File경로만 가지고 온다. string filePath = fileFullName.Replace(fileName, ""); Random r = new Random(); String _modifyFileName = "bd_" + MainProg.GetUserId() + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + r.Next(0, 1000).ToString(); lvFileList.Update(); String[] _fileItem = { fileName, fileFullName, _modifyFileName }; ListViewItem _itemList = new ListViewItem(_fileItem); lvFileList.Items.Add(_itemList); lvFileList.EndUpdate(); } }
public void SetActiveValue(string param, String _roomNo, String sendUserId) { if (_roomNo.Equals(roomNo)) { if (param.Equals("close_theRoom")) { chatHisBox.Text += "[" + MainProg.getUserInfoByKey("MEMBERID", sendUserId).MEMBERNAME + "] 방에서 나갔습니다. "; chatHisBox.Text += Environment.NewLine; for (int i = 0; i < lv_chatPerson.Items.Count; i++) { ListViewItem fItem = lv_chatPerson.Items[i]; if (fItem.SubItems[0].Text.Equals(sendUserId)) { fItem.Remove(); break; } } } else { chatHisBox.Text += "[" + sendUserId + "] : "; chatHisBox.Text += param; chatHisBox.Text += Environment.NewLine; } } }
//회신처리 private void btn_rtn_message_Click(object sender, EventArgs e) { if (lb_userNm.Text.Length < 3) { MessageBox.Show("회신할 대상이 존재하지 않습니다."); return; } String rtnName = lb_userNm.Text.IndexOf(";") > -1 ? lb_userNm.Text.Split(';')[0] : lb_userNm.Text; String _memberid = "F" + MainProg.getUserInfoByKey("MEMBERNAME", rtnName).MEMBERID; //MessageFormBox mfb = new MessageFormBox(_memberid, null, lb_cindex.Text); //mfb.Show(); Hashtable _param = new Hashtable(); _param.Add("C_INDEX", lb_cindex.Text); _param.Add("MESSAGE_KB", "1"); PacketData_MessageReWrite req = new PacketData_MessageReWrite(); req.rcvUser = _memberid; req.criInfo = _param; MainProg.client.Send(req); }
private void ChatForm_FormClosing(object sender, FormClosingEventArgs e) { PacketData_CloseRoom req = new PacketData_CloseRoom(); req.userId = MainProg.GetUserId(); req.roomNo = roomNo; MainProg.client.Send(req); }
private void btn_rtn_message_Click(object sender, EventArgs e) { String rtnName = lb_userNm.Text.IndexOf(";") > -1 ? lb_userNm.Text.Split(';')[0] : lb_userNm.Text; String _memberid = "F" + MainProg.getUserInfoByKey("MEMBERNAME", rtnName).MEMBERID; MessageFormBox mfb = new MessageFormBox(_memberid, null, lb_cindex.Text); mfb.Show(); }
//메세지 보내기 private void btn_Send_Click(object sender, EventArgs e) { if (txt_rcv_user.Text.Length < 1) { MessageBox.Show("받을사람이 지정되어 있지 않습니다."); return; } //테이블 등록처리 _Ins _ins = new _Ins(); Hashtable _param = new Hashtable(); _param.Add("TITLE", "메세지"); _param.Add("CONTEXT", messageBody.DocumentText); _param.Add("REGI_ID", MainProg.GetUserId()); _param.Add("MESSAGE_KB", "1"); for (int i = 0; i < lvFileList.Items.Count; i++) { ListViewItem fItem = lvFileList.Items[i]; switch (i) { case 0: _param.Add("FILE_", fItem.SubItems[2].Text); _param.Add("FILE_ORIGIN", fItem.SubItems[0].Text); break; case 1: _param.Add("FILE1_", fItem.SubItems[2].Text); _param.Add("FILE1_ORIGIN", fItem.SubItems[0].Text); break; case 2: _param.Add("FILE2_", fItem.SubItems[2].Text); _param.Add("FILE2_ORIGIN", fItem.SubItems[0].Text); break; case 3: _param.Add("FILE3_", fItem.SubItems[2].Text); _param.Add("FILE3_ORIGIN", fItem.SubItems[0].Text); break; case 4: _param.Add("FILE3_", fItem.SubItems[2].Text); _param.Add("FILE4_", fItem.SubItems[0].Text); break; } } _param.Add("DISPLAY_DT", "99991231"); //추가일 경우 boardNo = _ins.InsertHashDataBySelectKey(_param, "insertBoard"); FileUpload(); }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); MainProg.Instance.Init(); Application.Run(MainProg.GetLoginForm()); }
//메세지 관리 폼 열기 private void btn_message_mgs_Click(object sender, EventArgs e) { PacketData_MessageMng req = new PacketData_MessageMng(); Hashtable _param = new Hashtable(); _param.Add("MESSAGE_KB", "1"); _param.Add("REGI_ID", MainProg.GetUserId()); req.criInfo = _param; MainProg.client.Send(req); }
private void btn_UserInfo_Click(object sender, EventArgs e) { UserDetailInfo udll = new UserDetailInfo(); //선택한 유저 정보 가져오기 udll = MainProg.getUserInfoByKey("MEMBERID", MainProg.GetUserId()); UserInfo uif = new UserInfo(udll); uif.Owner = this; uif.Show(); }
//로그인 시 읽지 않은 메세지 표시 private void getReadMessage() { Hashtable _param = new Hashtable(); _param.Add("REGI_ID", MainProg.GetUserId()); IList <Hashtable> _list = _sel.GetListHashData(_param, "getBoarderDetail"); foreach (Hashtable _item in _list) { MessageView mv = new MessageView(_cu.rtnHtS(_item["C_INDEX"])); mv.Show(); } }
//사진등록 이벤트 private void btn_savePhoto_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { //File명과 확장자를 가지고 온다. string fileName = ofd.SafeFileName; //File경로와 File명을 모두 가지고 온다. string fileFullName = ofd.FileName; //File경로만 가지고 온다. string filePath = fileFullName.Replace(fileName, ""); long fws = 0; FtpWebRequest res = _cu.Connect(MainProg.GetUserId() + ".jpg", WebRequestMethods.Ftp.UploadFile, ref fws, cf.FtpPath + "MPhoto/", cf.FtpUser, cf.FtpPass); using (var stream = res.GetRequestStream()) { using (var fs = System.IO.File.OpenRead(fileFullName)) { byte[] buffer = new byte[10 * 1024 * 1024]; int read; long total = 0; if (fws == 0) { fws = new FileInfo(fileFullName).Length; } while ((read = fs.Read(buffer, 0, buffer.Length)) > 0) { stream.Write(buffer, 0, read); total += read; } } } MessageBox.Show("저장되었습니다."); UserDetailInfo udll = new UserDetailInfo(); udll.MEMBERID = MainProg.GetUserId(); udll.GROUPNAME = orgName.Text; udll.RANKNAME = rankName.Text; udll.MEMBERNAME = name.Text; udll.EMAIL = email.Text; udll.OFFICEPHONE = tel.Text; udll.HP = hp.Text; //창에 사진 바꾸기 SetInfo(udll); //메인창에 사진 바꾸기 ((MainForm)(this.Owner)).SetPhoto(udll.MEMBERID); } }
//메세지 검색 private void btn_search_Click(object sender, EventArgs e) { Hashtable _param = new Hashtable(); _param.Add("REGI_ID", MainProg.GetUserId()); _param.Add("MESSAGE_KB", "1"); _param.Add("SEARCHKB", cbx01.SelectedIndex); _param.Add("SEARCHTXT", txt_notice_search.Text.Trim()); PacketData_MessageSearch req = new PacketData_MessageSearch(); req.criInfo = _param; MainProg.client.Send(req); }
/* * DESC : 채팅창 초기처리 * PARAM : [1] 자기SESSION 정보 * [2] 창이 열려있는지 여부 * [3] 방 개설 정보 * [4] 방 개설자 정보 * [5] 방 참여자 정보 */ public ChatForm(Boolean open, PacketData_MakeRoom req, String userId, List <String> _ru) { InitializeComponent(); //대화창에 참여하고 있는 명단 출력 lv_chatPerson.View = View.Details; labUserId.Text = MainProg.getUserInfoByKey("MEMBERID", userId).MEMBERNAME; //방을 개설할 경우 처리 if (open) { req = new PacketData_MakeRoom(); Random r = new Random(); req.roomNo = r.Next(0, 500).ToString(); req.makeUserId = userId; roomNo = req.roomNo; req.revUserId = _ru; MainProg.client.Send(req); } else { //참여자 화면 처리 roomNo = req.roomNo; } lv_chatPerson.BeginUpdate(); String[] _boardItem = { MainProg.getUserInfoByKey("MEMBERID", req.makeUserId).MEMBERNAME, "[개설자]" }; ListViewItem _itemList = new ListViewItem(_boardItem); lv_chatPerson.Items.Add(_itemList); foreach (String rcvUser in req.revUserId) { if (rcvUser.Equals(req.makeUserId)) { continue; } _itemList = new ListViewItem(new String[] { MainProg.getUserInfoByKey("MEMBERID", rcvUser).MEMBERNAME, "[참여자]" }); lv_chatPerson.Items.Add(_itemList); } lv_chatPerson.EndUpdate(); }
//로그인 시 읽지 않은 메세지 표시 private void getReadMessage(IList <Hashtable> _list) { Hashtable _param = new Hashtable(); _param.Add("REGI_ID", MainProg.GetUserId()); //IList<Hashtable> _list = _sel.GetListHashData(_param, "getBoarderDetail"); foreach (Hashtable _item in _list) { //PacketData_NoticeDetail req = new PacketData_NoticeDetail(); //req.noticeProcess = "R"; //req.noticeNum = _cu.rtnHtS(_item["C_INDEX"]); //MainProg.client.Send(req); MessageView mv = new MessageView(_item, _cu.rtnHtS(_item["REGI_ID"]), Int32.Parse(_cu.rtnHtS(_item["C_INDEX"]))); mv.Show(); } }
private void btn_add_Click(object sender, System.EventArgs e) { Control ctn = panel1.Controls["txtUserName"]; string userNm = ctn.Text; UserDetailInfo uie = MainProg.getUserInfoByKey("MEMBERNAME", userNm); if (uie == null || uie.MEMBERID.Equals("")) { MessageBox.Show("등록되어 있지 않은 사용자입니다."); return; } lvrcvUserList.Update(); lvrcvUserList.Items.Add(userNm); ctn.Text = ""; lvrcvUserList.EndUpdate(); }
void worker_RunWorkerCompleted_Ftp(object sender, RunWorkerCompletedEventArgs e) { backgroundWorker1.DoWork -= new DoWorkEventHandler(uploadFileFtp); backgroundWorker1.ProgressChanged -= new ProgressChangedEventHandler(worker_ProgressChanged_Ftp); backgroundWorker1.RunWorkerCompleted -= new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted_Ftp); if (e.Error == null) { download_panel.Visible = false; MessageBox.Show("등록 되었습니다."); PacketData_SendNotice req = new PacketData_SendNotice(); req.userId = MainProg.GetUserId(); req.boardNo = boardNo; MainProg.client.Send(req); this.DataPushEvent_Sub(false); this.Dispose(); } }
void worker_RunWorkerCompleted_Ftp(object sender, RunWorkerCompletedEventArgs e) { backgroundWorker1.DoWork -= new DoWorkEventHandler(uploadFileFtp); backgroundWorker1.ProgressChanged -= new ProgressChangedEventHandler(worker_ProgressChanged_Ftp); backgroundWorker1.RunWorkerCompleted -= new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted_Ftp); if (e.Error == null) { download_panel.Visible = false; //받은사람에게 전송처리 PacketData_SendMessage req = new PacketData_SendMessage(); req.userId = MainProg.GetUserId(); req.boardNo = boardNo; Hashtable _param = new Hashtable(); List <String> _rcvvUserId = new List <string>(); _param.Add("C_INDEX", boardNo); foreach (String userNm in txt_rcv_user.Text.Split(';')) { if (userNm.Equals("")) { continue; } String _memberId = MainProg.getUserInfoByKey("MEMBERNAME", userNm).MEMBERID; _rcvvUserId.Add(_memberId); _param.Remove("ID_READER"); //읽은 사람 등록 _param.Add("ID_READER", _memberId); new _Ins().InsertHashData(_param, "insertBoardDetail"); } MessageBox.Show("전송 되었습니다."); req.revUserId = _rcvvUserId; MainProg.client.Send(req); this.Close(); } }
private void showMessageLIst() { Hashtable _param = new Hashtable(); _param.Add("MESSAGE_KB", "1"); _param.Add("REGI_ID", MainProg.GetUserId()); IList <Hashtable> _list = _sel.GetListHashData(_param, "getBoarderRcvList"); IList <Hashtable> _slist = _list.Where(w => w["REGI_ID"].ToString().Equals(MainProg.GetUserId())).ToList <Hashtable>(); IList <Hashtable> _rlist = _list.Where(w => !w["REGI_ID"].ToString().Equals(MainProg.GetUserId())).ToList <Hashtable>(); //보낸 리스트 if (_slist.Count > 0) { foreach (Hashtable _item in _slist) { String _rcvUserNm = String.Empty; String[] _usersNm = _cu.rtnHtS(_item["ID_READER"]).Split(','); foreach (String _user in _usersNm) { if (_user.Equals("")) { continue; } StringBuilder sb = new StringBuilder(); sb.Append(MainProg.getUserInfoByKey("MEMBERID", _user).MEMBERNAME); sb.Append(";"); _rcvUserNm += sb.ToString(); } String[] _boardItem = { _cu.rtnHtS(_item["C_INDEX"]), _rcvUserNm, _cu.ToYYYYMMDD(_cu.rtnHtS(_item["REGI_DT"]), true) }; ListViewItem _itemList = new ListViewItem(_boardItem); lvSend.Items.Add(_itemList); } if (lvSend.Items.Count > 0) { lvSend.Items[0].Selected = true; } } //받은 리스트 if (_rlist.Count > 0) { foreach (Hashtable _item in _rlist) { String _rcvUserNm = String.Empty; StringBuilder sb = new StringBuilder(); sb.Append(MainProg.getUserInfoByKey("MEMBERID", _cu.rtnHtS(_item["REGI_ID"])).MEMBERNAME); sb.Append(";"); _rcvUserNm += sb.ToString(); String[] _boardItem = { _cu.rtnHtS(_item["C_INDEX"]), _rcvUserNm, _cu.ToYYYYMMDD(_cu.rtnHtS(_item["REGI_DT"]), true) }; ListViewItem _itemList = new ListViewItem(_boardItem); lvRcv.Items.Add(_itemList); } if (lvRcv.Items.Count > 0) { lvRcv.Items[0].Selected = true; } } }
//보낸 메세지 선택 표시 private void lvSend_SelectedIndexChanged(object sender, EventArgs e) { String messageNum = string.Empty; lvRcvResult.Items.Clear(); lvFileList2.Items.Clear(); if (lvSend.SelectedItems.Count == 1) { ListView.SelectedListViewItemCollection items = lvSend.SelectedItems; foreach (ListViewItem item in items) { messageNum = item.SubItems[0].Text; } Hashtable _param = new Hashtable(); _param.Add("C_INDEX", messageNum); _param.Add("MESSAGE_KB", "1"); IList <Hashtable> _message = _sel.GetListHashData(_param, "getBoarderList"); IList <Hashtable> _readUsers = _sel.GetListHashData(_param, "getBoarderDetail"); foreach (Hashtable _item in _readUsers) { ListViewItem lvi = new ListViewItem(MainProg.getUserInfoByKey("MEMBERID", _cu.rtnHtS(_item["ID_READER"])).MEMBERNAME); lvi.SubItems.Add(_cu.rtnHtS(_item["READ_TIME"])); lvRcvResult.Items.Add(lvi); } foreach (Hashtable _item in _message) { String _rcvUserNm = String.Empty; String[] _usersNm = _cu.rtnHtS(_item["ID_READER"]).Split(','); foreach (String _user in _usersNm) { if (_user.Equals("")) { continue; } StringBuilder sb = new StringBuilder(); sb.Append(MainProg.getUserInfoByKey("MEMBERID", _user).MEMBERNAME); sb.Append(";"); _rcvUserNm += sb.ToString(); } lb_userNm.Text = _rcvUserNm; lb_date.Text = _cu.ToYYYYMMDD(_cu.rtnHtS(_item["REGI_DT"]), true); messageBody.DocumentText = _cu.rtnHtS(_item["CONTEXT"]); if (!_cu.rtnHtS(_item["FILE_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE_"])); lvFileList2.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE1_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE1_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE1_"])); lvFileList2.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE2_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE2_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE2_"])); lvFileList2.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE3_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE3_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE3_"])); lvFileList2.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE4_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE4_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE4_"])); lvFileList2.Items.Add(lvi); } } } }
//받은 메세지 선택 표시 private void lvRcv_SelectedIndexChanged(object sender, EventArgs e) { String messageNum = string.Empty; lvFileList.Items.Clear(); lb_cindex.Text = String.Empty; if (lvRcv.SelectedItems.Count == 1) { ListView.SelectedListViewItemCollection items = lvRcv.SelectedItems; foreach (ListViewItem item in items) { messageNum = item.SubItems[0].Text; } Hashtable _param = new Hashtable(); _param.Add("C_INDEX", messageNum); _param.Add("MESSAGE_KB", "1"); IList <Hashtable> _message = _sel.GetListHashData(_param, "getBoarderList"); foreach (Hashtable _item in _message) { lb_cindex.Text = messageNum; lb_userNm.Text = MainProg.getUserInfoByKey("MEMBERID", _cu.rtnHtS(_item["REGI_ID"])).MEMBERNAME; lb_date.Text = _cu.ToYYYYMMDD(_cu.rtnHtS(_item["REGI_DT"]), true); messageBody.DocumentText = _cu.rtnHtS(_item["CONTEXT"]); if (!_cu.rtnHtS(_item["FILE_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE_"])); lvFileList.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE1_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE1_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE1_"])); lvFileList.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE2_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE2_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE2_"])); lvFileList.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE3_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE3_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE3_"])); lvFileList.Items.Add(lvi); } if (!_cu.rtnHtS(_item["FILE4_"]).Equals("")) { ListViewItem lvi = new ListViewItem(_cu.rtnHtS(_item["FILE4_ORIGIN"])); lvi.SubItems.Add(_cu.rtnHtS(_item["FILE4_"])); lvFileList.Items.Add(lvi); } } } }
//공지사항 //처음 로그인 시에만 않읽은 공지사항이 있으면 팝업처리한다. public void ShowBoard(Boolean initFg, IList <Hashtable> _list) { lv_notice.Items.Clear(); lv_notice.View = View.Details; lv_notice.GridLines = true; lv_notice.FullRowSelect = true; Hashtable _param = new Hashtable(); _param.Add("MESSAGE_KB", "0"); //IList<Hashtable> _list = _sel.GetListHashData(_param, "getBoarderList"); if (_list != null && _list.Count > 0) { foreach (Hashtable _item in _list) { String[] _boardItem = { _cu.rtnHtS(_item["C_INDEX"]), _cu.rtnHtS(_item["TITLE"]), _cu.rtnHtS(_item["NAME"]), //_cu.ToYYYYMMDD(_cu.rtnHtS(_item["REGI_DT"]), true), _cu.GetDateTimeFormat(DateTime.Parse(_cu.rtnHtS(_item["REGI_DT"])),"yyyy년 mm월 dd일"), _cu.rtnHtS(_item["REGI_ID"]) }; ListViewItem _itemList = new ListViewItem(_boardItem); lv_notice.Items.Add(_itemList); } //새로운 공지사항을 팝업으로 띄운다. if (initFg) { IList <Hashtable> _newnoticeList = _list.Where(w => !_cu.rtnHtS(w["ID_READER"]).Split(',').Contains(MainProg.GetUserId())).ToList <Hashtable>(); foreach (Hashtable _item in _newnoticeList) { //NoticeView nv = new NoticeView(_cu.rtnHtS(_item["C_INDEX"])); //nv.Show(); PacketData_NoticeDetail req = new PacketData_NoticeDetail(); req.noticeProcess = "R"; req.noticeNum = _cu.rtnHtS(_item["C_INDEX"]); MainProg.client.Send(req); } } } }
//데이터 받았을 때 발생하는 이벤트 void OnReceive(Client sender, int msgType, byte[] buff) { string s = System.Text.Encoding.UTF8.GetString(buff); JObject jObject = JObject.Parse(s); int packetID = (int)jObject["PacketID"]; PacketResponse response = new PacketResponse((PacketID)packetID, s); if (packetID == (int)PacketID.PacketID_Connect_Req) { PacketData_ConnectReq req = response.Parsing <PacketData_ConnectReq>(); String _connetedUsers = String.Empty; Invoke((MethodInvoker) delegate { //처음 실행시 가져오는 전체유저정보취득 MainProg.Instance.getUserLIst(req.userList); //처음 실행시 가져오는 공지사항 if (req.noticeList != null) { ShowBoard(true, req.noticeList); } //처음 실행시 가져오는 읽지 않은 메세지 if (req.messageList != null) { getReadMessage(req.messageList); } //로그인한 사람 저장 presentSessionList = req.presentSessionList; }); foreach (String users in presentSessionList) { _connetedUsers += "F" + users + "^"; } //로그인하면 화면 처리(로그인한사람) this.Invoke(new Action(() => { webBrowser1.Document.InvokeScript("onLineMark", new object[] { _connetedUsers }); })); } else if (packetID == (int)PacketID.PacketID_DisConnect_Req) { PacketData_DisConnectReq req = response.Parsing <PacketData_DisConnectReq>(); String _connetedUsers = String.Empty; _connetedUsers += "F" + req.userId + "^"; //로그아웃이나 종료하면 화면 처리(로그인한사람) this.Invoke(new Action(() => { webBrowser1.Document.InvokeScript("offLineMark", new object[] { _connetedUsers }); })); } //공지사항 보기 else if (packetID == (int)PacketID.PacketID_Notice_Detail) { PacketData_NoticeDetail req = response.Parsing <PacketData_NoticeDetail>(); Invoke((MethodInvoker) delegate { //ShowBoard(false); //수정을 눌렀을 때 if (req.noticeProcess.Equals("U")) { NoticeWrite ni = new NoticeWrite(req.noticeDetail, req.noticeNum); // ni.DataPushEvent_Sub += new NoticeWrite.Sub_DataPushEventHandler(ShowBoard); ni.Show(); } else { NoticeView nv = new NoticeView(req.noticeDetail); nv.Show(); } }); } //공지사항 등록 및 수정시 else if (packetID == (int)PacketID.PacketID_Send_Notice) { PacketData_SendNotice req = response.Parsing <PacketData_SendNotice>(); Invoke((MethodInvoker) delegate { if (req.noticeProcess.Equals("D")) { ShowBoard(false, req.noticeList); } else { ShowBoard(true, req.noticeList); } //NoticeView nv = new NoticeView(req.boardNo.ToString()); //nv.Show(); }); } //공지사항 찾기 else if (packetID == (int)PacketID.PacketID_Notice_Find) { PacketData_NoticeFind req = response.Parsing <PacketData_NoticeFind>(); Invoke((MethodInvoker) delegate { ShowBoard(false, req.noticeList); }); } //메세지 관리함 보기 else if (packetID == (int)PacketID.PacketID_Message_Mng) { PacketData_MessageMng req = response.Parsing <PacketData_MessageMng>(); Invoke((MethodInvoker) delegate { Form fc = Application.OpenForms["MessageMng"]; if (fc != null) { DataSendMessageEvent(req.messageList, null, "1"); } else { MessageMng mv = new MessageMng(req.messageList); this.DataSendMessageEvent += new DataPushMessageEventHandler(mv.SetActiveValue); mv.DataSendMessageEvent += new DataGetMessageEventHandlder(this.DataMessageAction); mv.ShowDialog(); } }); } //메세지 상세보기 else if (packetID == (int)PacketID.PacketID_Message_Detail) { PacketData_MessageDetail req = response.Parsing <PacketData_MessageDetail>(); Invoke((MethodInvoker) delegate { DataSendMessageEvent(req.messageDetail, req.messageReaderDetail, null); }); } //메세지 찾기 else if (packetID == (int)PacketID.PacketID_Message_Search) { PacketData_MessageSearch req = response.Parsing <PacketData_MessageSearch>(); Invoke((MethodInvoker) delegate { DataSendMessageEvent(req.messageList, null, "1"); }); } //메세지 회신쓰기 else if (packetID == (int)PacketID.PacketID_Message_ReWrite) { PacketData_MessageReWrite req = response.Parsing <PacketData_MessageReWrite>(); Invoke((MethodInvoker) delegate { //DataSendMessageEvent(req.messageDetail, null, "1"); MessageFormBox mfb = new MessageFormBox(req.rcvUser, null, req.messageDetail); mfb.Show(); }); } //메세지 받기 else if (packetID == (int)PacketID.PacketID_Send_Msg) { PacketData_SendMessage req = response.Parsing <PacketData_SendMessage>(); Invoke((MethodInvoker) delegate { //MessageView mv = new MessageView(req.boardNo.ToString()); Form fc = Application.OpenForms["MessageMng"]; if (fc != null) { PacketData_MessageMng req_2 = new PacketData_MessageMng(); Hashtable _param = new Hashtable(); _param.Add("MESSAGE_KB", "1"); _param.Add("REGI_ID", MainProg.GetUserId()); req_2.criInfo = _param; req_2.process = "1"; MainProg.client.Send(req_2); } MessageView mv = new MessageView(req.messageDetail, req.userId, req.boardNo); mv.Show(); }); } //채팅방 만들기 else if (packetID == (int)PacketID.PacketID_Make_Room) { PacketData_MakeRoom req = response.Parsing <PacketData_MakeRoom>(); Invoke((MethodInvoker) delegate { if (!_userId.Equals(req.makeUserId)) { ChatForm cf = new ChatForm(false, req, _userId, null); this.DataSendEvent += new DataPushEventHandler(cf.SetActiveValue); cf.DataSendEvent += new DataGetEventHandlder(this.DataAction); cf.Show(); } }); } //방없애기 else if (packetID == (int)PacketID.PacketID_Close_Room) { PacketData_CloseRoom req = response.Parsing <PacketData_CloseRoom>(); Invoke((MethodInvoker) delegate { DataSendEvent("close_theRoom", req.roomNo, req.userId); }); } //방채팅 else if (packetID == (int)PacketID.PacketID_Room_Msg) { PacketData_SendRoomMessage req = response.Parsing <PacketData_SendRoomMessage>(); Invoke((MethodInvoker) delegate { rb2.Text += req.message; DataSendEvent(req.message, req.roomNo, req.sendUserId); }); } //조직도 Reload else if (packetID == (int)PacketID.PacketID_ReloadGroup) { //화면 리로드 처리 webBrowser1.Refresh(); } //else //{ // RecvConnectAck(sender, response); //} }
//로그인 memberid, 선택된 유저, 처리구분 kb public void RunApp(String userId, String selectUserList, String kb) { Hashtable _param = new Hashtable(); UserDetailInfo udll = new UserDetailInfo(); udll = MainProg.getUserInfoByKey("MEMBERID", userId.Substring(1)); //메세지보내기 if (kb.Equals("sendMessage")) { //MessageFormBox mfb = new MessageFormBox(userId, selectUserList, client, null); MessageFormBox mfb = new MessageFormBox(userId, selectUserList, null); mfb.Show(); } //유저정보보기 else if (kb.Equals("viewUserInfo")) { //선택한 유저 정보 가져오기 UserInfo uif = new UserInfo(udll); uif.Show(); } //채팅하기 else if (kb.Equals("sendChat")) { List <String> _ru = new List <string>(); int _personCnt = 0; if (selectUserList != null && selectUserList.Length > 0) { String[] rcvUsrId = selectUserList.Split('^'); //체크박스로 선택한 사람들 foreach (String item in rcvUsrId) { //체크안되고 선택되어진 인원 중복 제외 if (!item.Equals(userId) && item.Length > 0) { String memberId = MainProg.getUserInfoByKey("MEMBERID", item.Substring(1)).MEMBERID; if (presentSessionList.Contains(memberId)) { ++_personCnt; //유저실제아이디로 치환(SESSION_KEY값) _ru.Add(memberId); } } } //채팅 선택되어진 사람(체크박스없이) if (presentSessionList.Contains(udll.MEMBERID)) { ++_personCnt; //유저실제아이디로 치환(SESSION_KEY값) _ru.Add(udll.MEMBERID); } } else { if (presentSessionList.Contains(udll.MEMBERID)) { ++_personCnt; //유저실제아이디로 치환(SESSION_KEY값) _ru.Add(udll.MEMBERID); } } //로그인된사람이 하나도 없으면 채팅불가 if (_personCnt < 1) { MessageBox.Show("로그인 된 참여자가 존재하지 않습니다."); return; } //채팅창 만든사람 _ru.Add(_userId); //채팅창을 오픈 ChatForm cf = new ChatForm(true, null, _userId, _ru); //채팅창에 받은 메세지를 넘겨줄 수 있도록 처리(MAINFORM => CHATFORM) this.DataSendEvent += new DataPushEventHandler(cf.SetActiveValue); cf.DataSendEvent += new DataGetEventHandlder(this.DataAction); cf.Show(); } }
private void btn_Snd_msg_Click(object sender, EventArgs e) { if (txt_NoticeTItle.Text.Equals("")) { MessageBox.Show("제목이 입력되어 있지 않습니다."); return; } Hashtable _param = new Hashtable(); _param.Add("TITLE", txt_NoticeTItle.Text); _param.Add("CONTEXT", NoticeBody.DocumentText); _param.Add("REGI_ID", MainProg.GetUserId()); _param.Add("MESSAGE_KB", "0"); for (int i = 0; i < lvFileList.Items.Count; i++) { ListViewItem fItem = lvFileList.Items[i]; switch (i) { case 0: _param.Add("FILE_", fItem.SubItems[2].Text); _param.Add("FILE_ORIGIN", fItem.SubItems[0].Text); break; case 1: _param.Add("FILE1_", fItem.SubItems[2].Text); _param.Add("FILE1_ORIGIN", fItem.SubItems[0].Text); break; case 2: _param.Add("FILE2_", fItem.SubItems[2].Text); _param.Add("FILE2_ORIGIN", fItem.SubItems[0].Text); break; case 3: _param.Add("FILE3_", fItem.SubItems[2].Text); _param.Add("FILE3_ORIGIN", fItem.SubItems[0].Text); break; case 4: _param.Add("FILE3_", fItem.SubItems[2].Text); _param.Add("FILE4_", fItem.SubItems[0].Text); break; } } if (chkLimit.Checked) { DateTime dt = limitDate.Value; _param.Add("DISPLAY_DT", dt.Year.ToString() + (dt.Month < 10?"0" + dt.Month.ToString():dt.Month.ToString()) + (dt.Day < 10 ? "0" + dt.Day.ToString() : dt.Day.ToString())); } else { _param.Add("DISPLAY_DT", "99991231"); } //공지사항 번호가 있으면 수정, 없으면 등록 if (BoardNo.Text != "") { _param.Add("C_INDEX", BoardNo.Text); //변경일 경우 //_ins.UpdatetHashData(_param, "updateBoard"); //boardNo = Int32.Parse(BoardNo.Text); PacketData_SendNotice req = new PacketData_SendNotice(); req.userId = MainProg.GetUserId(); req.noticeNum = Int32.Parse(BoardNo.Text); req.noticeDetail = _param; req.noticeProcess = "U"; MainProg.client.Send(req); MessageBox.Show("수정 되었습니다."); //this.DataPushEvent_Sub(false, null); this.Dispose(); } else { download_panel.Visible = true; PacketData_SendNotice req = new PacketData_SendNotice(); req.userId = MainProg.GetUserId(); //req.noticeNum = boardNo; req.noticeProcess = "I"; req.noticeDetail = _param; MainProg.client.Send(req); //추가일 경우 //boardNo = _ins.InsertHashDataBySelectKey(_param, "insertBoard"); FileUpload(); } }