示例#1
0
        //공지사항 삭제 이벤트
        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);
        }
示例#3
0
        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());
                }
            }
        }
示例#4
0
        //화면 초기 이벤트
        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();
        }
示例#6
0
        //공지사항 수정 이벤트
        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();
            }
        }
示例#8
0
        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;
                }
            }
        }
示例#9
0
        //회신처리
        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);
        }
示例#10
0
        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);
        }
示例#11
0
        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();
        }
示例#12
0
        //메세지 보내기
        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();
        }
示例#13
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            MainProg.Instance.Init();

            Application.Run(MainProg.GetLoginForm());
        }
示例#14
0
        //메세지 관리 폼 열기
        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);
        }
示例#15
0
        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();
        }
示例#16
0
        //로그인 시 읽지 않은 메세지 표시
        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();
            }
        }
示例#17
0
        //사진등록 이벤트
        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);
            }
        }
示例#18
0
        //메세지 검색
        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);
        }
示例#19
0
        /*
         * 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();
        }
示例#20
0
        //로그인 시 읽지 않은 메세지 표시
        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();
            }
        }
示例#21
0
        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();
        }
示例#22
0
        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();
            }
        }
示例#23
0
        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();
            }
        }
示例#24
0
        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;
                }
            }
        }
示例#25
0
        //보낸 메세지 선택 표시
        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);
                    }
                }
            }
        }
示例#26
0
        //받은 메세지 선택 표시
        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);
                    }
                }
            }
        }
示例#27
0
        //공지사항
        //처음 로그인 시에만 않읽은 공지사항이 있으면 팝업처리한다.
        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);
                    }
                }
            }
        }
示例#28
0
        //데이터 받았을 때 발생하는 이벤트
        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);
            //}
        }
示例#29
0
        //로그인 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();
            }
        }
示例#30
0
        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();
            }
        }