/// <summary>
        /// 접속자 명단 다시보기
        /// </summary>
        private void _RefreshListBoxSource()
        {
            try
            {
                string teamname = (String)ComboBoxTeam.SelectedItem;
                if (teamname == "기타")
                {
                    teamname = "";
                }

                Dictionary <string, MemberObj> teamMembers = Members.GetMembersByTeam(teamname);

                ListBoxSource.Items.Clear();
                foreach (var de in teamMembers)
                {
                    //string tempname = (String)de.Value;
                    string tempId = de.Key;
                    if (Members.ContainLoginUserNode(tempId))
                    {
                        //string item = tempname + "(" + tempid + ")";
                        MemberObj   userObj = Members.GetByUserId(tempId);
                        ListBoxItem item    = new ListBoxItem(userObj);
                        if (ListBox.NoMatches == ListBoxSelected.FindStringExact(item.Text))
                        {
                            ListBoxSource.Items.Add(item);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Logger.error(exception.ToString());
            }
        }
        /// <summary>
        /// 다른 사용자(들)에게 파일 전송 준비
        /// </summary>
        /// <param name="list">파일 전송 대상자 목록</param>
        /// <param name="filename">파일명</param>
        /// <param name="timekey">파일전송시간(여러 파일전송작업 간 구분키가 됨)</param>
        public bool NotifyFileSend(List <MemberObj> receiverList, string fileName, string formKey)
        {
            bool result = false;

            try
            {
                FileInfo fi       = new FileInfo(fileName);
                long     fileSize = fi.Length;
                //파일 정보 보내기(F|파일명|파일크기|파일key|전송자id)
                foreach (MemberObj receiver in receiverList)
                {
                    if (Members.ContainLoginUserNode(receiver.Id)) //전송대상자가 로그인 상태인 경우
                    {
                        //msgClient.NotifyFTPStart(new IPEndPoint(Utils.getIPfromHost(mHostName), SocConst.FTP_PORT), MsgDef.FTP_ON_SERVER, mFullFileName, mFileSize);
                        this.SendMsgNotifyFileInfo(fileName, fileSize, formKey, receiver.Id);
                        SendFileForms.AddClientKey(fileName, fileSize, receiver.Id, formKey);
                    }
                    else
                    {
                        //전송대상자가 로그아웃 상태인 경우
                    }
                }
                result = true;
            }
            catch (Exception exception)
            {
                Logger.error(exception.ToString());
            }
            return(result);
        }
Example #3
0
 public void OpenSingleChatForm(MemberObj userObj)
 {
     if (userObj != null && Members.ContainLoginUserNode(userObj.Id))
     {
         ChatForm chatForm = ChatForms.FindSingleChatForm(userObj.Id);
         //존재하는 대화창이 없는 경우 생성
         if (chatForm == null)
         {
             MakeChatForm(userObj);
         }
         else
         {
             chatForm.SetForward();
         }
     }
     else  //대화가능한 상대방이 없을경우
     {
         if (MessageBox.Show(this,
                             "대화할 상대방이 대화가 불가능한 상태입니다.\r\n 대신 쪽지를 보내시겠습니까?",
                             "알림",
                             MessageBoxButtons.OKCancel,
                             MessageBoxIcon.Information) == DialogResult.OK)
         {
             MakeSendMemo(userObj);
         }
     }
 }
Example #4
0
 /// <summary>
 /// FTP 수신자: 파일전송 알림이벤트 받음
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ProcessOnFTPSendingNotified(object sender, SocFTPInfoEventArgs <FTPRcvObj> e)
 {
     if (Members.ContainLoginUserNode(e.GetObj.SenderId)) //전송대상자가 로그인 상태인 경우
     {
         OnFTPSendingNotified(e);
     }
     else
     {
         Logger.error(string.Format("파일전송자가 접속상태가 아님 파일[{0}]전송자[{1}]", e.GetObj.FileName, e.GetObj.SenderId));
     }
 }
Example #5
0
        private void BtnSend_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtbox_receiver.Text.Length != 0)
                {
                    string memoContent = textBox1.Text.Trim();
                    if (memoContent.Length != 0)
                    {
                        foreach (MemberObj userObj in receiverList)
                        {
                            MemoObj memoObj = new MemoObj(ConfigHelper.Id, userObj.Id, memoContent);

                            if (Members.ContainLoginUserNode(userObj.Id))
                            {
                                connection.SendMsgDeliverMemo(memoObj);
                            }
                            else
                            {
                                connection.SendMsgSaveMemoOnAway(memoObj);
                            }
                            Logger.info("쪽지 메시지 생성 : " + memoObj.ToString());
                        }
                        Close();
                    }
                }
                else
                {
                    if (MessageBox.Show(this, "쪽지를 받을 상대방을 지정해 주세요"
                                        , "알림", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
                    {
                        AddMemberForm addform = new AddMemberForm(connection, AddMemberMode.OnMemoReceived, formKey, receiverList, SetMemoReceivers);
                        addform.ShowDialog(this);
                    }
                }
            }
            catch (Exception exception)
            {
                Logger.error(exception.ToString());
            }
        }
Example #6
0
 private void MemoReplyDone(object sender, CustomEventArgs e)
 {
     try
     {
         MemoObj replyObj = (MemoObj)e.GetItem;
         if (Members.ContainLoginUserNode(replyObj.SenderId))
         {
             connection.SendMsgDeliverMemo(replyObj);
         }
         else
         {
             connection.SendMsgSaveMemoOnAway(replyObj);
         }
         //string msg = "19|" + this.myname + "|" + this.myid + "|" + memoContent.Trim();
         //string smsg = "4|" + this.myname + "|" + this.myid + "|" + memoContent.Trim();
     }
     catch (Exception exception)
     {
         Logger.error(exception.ToString());
     }
 }