public bool OnReceiveMessage(CiMessageEntity messageEntity) { bool returnValue = false; returnValue = true; if (this.InvokeRequired) { SetMessage SetMessage = new SetMessage(OnReceiveMessage); this.Invoke(SetMessage, new object[] { messageEntity }); } else { messageEntity.MSGContent = ReplaceMessage(messageEntity.MSGContent); StringBuilder sbContent = new StringBuilder(); sbContent.Append("<div style='color:#00f;font-size:12px;'>" + messageEntity.CreateBy + " ["); if (isToday((DateTime)messageEntity.CreateOn)) { sbContent.Append(((DateTime)messageEntity.CreateOn).ToLongTimeString() + "]:</div>"); } else { sbContent.Append(((DateTime)messageEntity.CreateOn).ToString(SystemInfo.DateTimeFormat) + "]:</div>"); } sbContent.Append(messageEntity.MSGContent); OneShow.Append(sbContent.ToString()); this.webMsg.DocumentText = this.webMsg.DocumentText.Insert(this.webMsg.DocumentText.Length, GetHtmlFace(sbContent.ToString())); this.PlaySound(); FlashWindow(this.Handle, true); } return(returnValue); }
private void SendMessage() { try { var messageEntity = new CiMessageEntity { Title = this.txtTitle.Text.Trim(), MSGContent = this.rtxtMSGContent.Text.Trim(), FunctionCode = MessageFunction.UserMessage.ToDescription() }; int returnValue = RDIFrameworkService.Instance.MessageService.BatchSend(this.UserInfo, this.txtUserIdList.SelectedIds, null, null, messageEntity); if (returnValue > 0) { MessageBoxHelper.ShowSuccessMsg("发送成功!"); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } else { MessageBoxHelper.ShowErrorMsg("发送失败!"); } } catch (Exception ex) { MessageBoxHelper.ShowErrorMsg("发送失败,错误:" + ex.Message); } }
public void ShowMessage(CiMessageEntity messageEntity) { if (messageEntity.FunctionCode.Equals(MessageFunction.UserMessage.ToString())) { if (!string.IsNullOrEmpty(messageEntity.CreateUserId)) { // 检查窗体,是否已经打开了窗体 var frmMessageRead = this.ShowMessageRead(messageEntity.CreateUserId, this); if (frmMessageRead != null) { frmMessageRead.OnReceiveMessage(messageEntity); } } } else if (messageEntity.FunctionCode.Equals(MessageFunction.OrganizeMessage.ToString()) || messageEntity.FunctionCode.Equals(MessageFunction.RoleMessage.ToString())) { var organizeId = string.Empty; if (messageEntity.FunctionCode.Equals(MessageFunction.OrganizeMessage.ToString())) { organizeId = messageEntity.ObjectId; } var roleId = string.Empty; if (messageEntity.FunctionCode.Equals(MessageFunction.RoleMessage.ToString())) { roleId = messageEntity.ObjectId; } // 检查窗体,是否已经打开了窗体 var frmGroupMsgRead = this.ShowGroupMessageRead(string.Empty, organizeId, roleId, this, FormStartPosition.WindowsDefaultLocation); if (frmGroupMsgRead != null) { frmGroupMsgRead.OnReceiveMessage(messageEntity); } } }
public void ShowRemind(CiMessageEntity messageEntity) { if (this.frmMsgRemind == null || !this.frmMsgRemind.Visible) { this.frmMsgRemind = new FrmMsgRemind(); frmMsgRemind.Show(this); } this.frmMsgRemind.OnReceiveMessage(messageEntity); }
private void SendMessage(HttpContext ctx) { try { CiMessageEntity message = new CiMessageEntity(); string AddresseeJson = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("AddresseeJson")); message.MSGContent = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("MSGContent")); message.Title = PublicMethod.GetString(WebCommon.StringHelper.GetRequestObject("Title")); RDIFramework.Utilities.UserInfo curUser = Utils.UserInfo; List <CiMessageEntity> AddresseeList = JsonHelper.JonsToList <CiMessageEntity>(AddresseeJson); message.FunctionCode = MessageFunction.UserMessage.ToDescription(); string reciveIds = string.Empty; if (AddresseeList != null && AddresseeList.Count > 0) { foreach (CiMessageEntity entity in AddresseeList) { reciveIds += entity.Id + ","; } reciveIds = reciveIds.TrimEnd(','); } if (curUser != null) { message.ModifiedBy = curUser.RealName; message.ModifiedUserId = curUser.Id; } int returnValue = 0; if (!string.IsNullOrEmpty(reciveIds)) { returnValue = RDIFrameworkService.Instance.MessageService.BatchSend(curUser, reciveIds.Split(new char[] { ',' }), null, null, message); } ctx.Response.Write(returnValue > 0 ? new JsonMessage { Success = true, Data = "1", Message = "发送成功。" }.ToString() : new JsonMessage { Success = true, Data = "0", Message = "发送失败。" }.ToString()); } catch (Exception ex) { ctx.Response.Write(new JsonMessage { Success = true, Data = "-1", Message = "发送失败,错误:" + ex.Message }.ToString()); } }
public bool OnReceiveMessage(CiMessageEntity messageEntity) { bool returnValue = false; if (this.InvokeRequired) { SetMessage SetMessage = new SetMessage(OnReceiveMessage); this.Invoke(SetMessage, new object[] { messageEntity }); } else { OnReceiveMessage(messageEntity.MSGContent, ((DateTime)messageEntity.CreateOn).ToString(SystemInfo.DateTimeFormat)); returnValue = true; } return(returnValue); }
/// <summary> /// 得到新消息 /// </summary> private void GetNewMessage() { if (this.ExitApplication) { return; } if (!this.FormLoaded || (this.Busyness)) { return; } if (this.tvOrganize.InvokeRequired) { if (this.ExitApplication) { return; } SetGetNewMessage getNewMessage = this.GetNewMessage; this.Invoke(getNewMessage); } else { try { // 获取最新即时通讯消息 var serviceInstance = new RDIFrameworkService(); // 这里获取用户的登录凭证,看与本地的是否一致? var openId = string.Empty; var dataTable = serviceInstance.MessageService.GetDTNew(this.UserInfo, out openId); if ((dataTable != null) && (dataTable.Rows.Count > 0)) { var messageEntity = new CiMessageEntity(); for (var i = 0; i < dataTable.Rows.Count; i++) { messageEntity.GetFrom(dataTable.Rows[i]); if (messageEntity.FunctionCode.Equals("UserMessage")) { this.ShowMessage(messageEntity); } else { this.ShowRemind(messageEntity); } //TODO:系统推送的... // 将信息标记为已阅读 serviceInstance.MessageService.Read(UserInfo, messageEntity.Id); } if (serviceInstance.MessageService is ICommunicationObject) { ((ICommunicationObject)serviceInstance.MessageService).Close(); } } // 若检查在线状态,根本就无法登录了,所以加上这样的判断 if (SystemInfo.CheckOnLine && !UserInfo.OpenId.Equals(openId)) { if (AppStart.frmMsg != null) { AppStart.frmMsg.ExitApplication = true; AppStart.frmMsg.AbortThread(); AppStart.frmMsg.Close(); AppStart.frmMsg.Dispose(); } // 修改当前用户的登录状态 SystemInfo.LogOned = false; if (MessageBox.Show(RDIFrameworkMessage.MSG0300, RDIFrameworkMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Stop) == System.Windows.Forms.DialogResult.OK) { Application.Exit(); } } } catch (System.Exception ex) { // 在本地记录异常 FileHelper.WriteException(UserInfo, ex); } } }