/// <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); }
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); } } }
/// <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)); } }
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()); } }
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()); } }