예제 #1
0
        /// <summary>
        /// 消息触发
        /// </summary>
        /// <param name="recevieUser">接收人</param>
        /// <param name="SystemCode">系统代号</param>
        /// <param name="MsgKey">消息Key</param>
        /// <param name="ID">业务系统ID</param>
        /// <param name="strXml">业务数据</param>
        public void MsgTrigger(string[] recevieUser, string SystemCode, string MsgKey, string ID, string strXml)
        {
            if (recevieUser.Length > 0)
            {
                try
                {
                    EngineServicesDAL dal = new EngineServicesDAL();
                    DataTable dt = dal.GetMessageDefine(MsgKey);
                    DataTable dtValue = Common.EncrytXmlToDataTable(strXml);
                    string Content = dt.Rows[0]["MESSAGEBODY"].ToString();
                    string Url = dt.Rows[0]["MESSAGEURL"].ToString();
                    Common.ReplaceValue(ref Content, ref Url, dtValue);
                    foreach (string user in recevieUser)
                    {
                        //刷新缓存用户是否有新的待办
                        TaskCache.TaskCacheReflesh(user);
                        dal.SendTriggerTaskMsg(user, SystemCode, "", ID, Content, Url, Common.BOObjectEscapeString(strXml), strXml);
                    }
                }
                catch (Exception e)
                {
                    string cMessage = "Message=[" + e.Message + "]" + "<消息引擎>Source=[" + e.Source + "]<消息引擎>StackTrace=[" + e.StackTrace + "]<消息引擎>TargetSite=[" + e.TargetSite + "]" + "\r\n";
                    Tracer.Debug("MsgTrigger():" + cMessage);
                }

            }
        }