Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 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);
         }
     }
 }
Esempio n. 4
0
 public void ShowRemind(CiMessageEntity messageEntity)
 {
     if (this.frmMsgRemind == null || !this.frmMsgRemind.Visible)
     {
         this.frmMsgRemind = new FrmMsgRemind();
         frmMsgRemind.Show(this);
     }
     this.frmMsgRemind.OnReceiveMessage(messageEntity);
 }
Esempio n. 5
0
        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());
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        /// <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);
                }
            }
        }