Example #1
0
        /// <summary>
        /// 节点邮件通知
        /// </summary>
        /// <param name="actionInfo">节点通知</param>
        /// <returns></returns>
        public bool EamlNotice(ActionNoticeInfo actionNotice, int instanceId, string customerName)
        {
            int actionId = actionNotice.ActionId;
            // 通知消息
            NoticeInfo noticeinfo = new NoticeInfo();

            // 邮件内容配置
            List <Mail> mail = new List <Mail>();

            // 通知人
            List <UserInfo> userList = new List <UserInfo>();

            // 根据节点通知的寻找用户类型2表示通知下一个操作者1表示通知所有人,3表示通知所有人和下一个操作者
            //1表示通知所有人
            if (actionNotice.FindPeopleType == 1)
            {
                userList = FindDoneUser(instanceId);
            }
            else if (actionNotice.FindPeopleType == 2)
            {
                userList.Add(FindLastUser(actionId, instanceId));
            }
            else if (actionNotice.FindPeopleType == 3)
            {
                userList = FindDoneUser(instanceId);
                userList.Add(FindLastUser(actionId, instanceId));
            }

            foreach (UserInfo user in userList)
            {
                if (user.Email != null)
                {
                    mail.Add(new Mail()
                    {
                        // 邮件配置
                        UserId       = user.UserId,
                        Title        = actionNotice.Title,
                        From         = "*****@*****.**",
                        FromPassword = "******",
                        SmtpServer   = "smtp.qiye.163.com",
                        Subject      = "通知邮件服务提醒",
                        To           = user.Email,
                        Body         = "主要申请人为:" + customerName + "的信息," + actionNotice.Content + "。   审批时间为:" + DateTime.Now,
                        BodyFormat   = "html",
                    });
                }
            }

            if (mail.Count > 0)
            {
                return(new Notice.Notice().SendEmail(mail));
            }
            else
            {
                return(true);
            }
        }
Example #2
0
        // 系统通知
        public bool SystemNotice(ActionNoticeInfo actionNotice, int instanceId, string customerName)
        {
            int actionId = actionNotice.ActionId;
            // 通知消息
            List <NoticeInfo> noticeList = new List <NoticeInfo>();

            // 通知人
            List <UserInfo> userList = new List <UserInfo>();


            // 根据节点通知的寻找用户类型2表示通知下一个操作者1表示通知所有人,3表示通知所有人和下一个操作者
            //1表示通知所有人
            if (actionNotice.FindPeopleType == 1)
            {
                userList = FindDoneUser(instanceId);
            }
            else if (actionNotice.FindPeopleType == 2)
            {
                userList.Add(FindLastUser(actionId, instanceId));
            }
            else if (actionNotice.FindPeopleType == 3)
            {
                userList = FindDoneUser(instanceId);
                userList.Add(FindLastUser(actionId, instanceId));
            }

            foreach (UserInfo user in userList)
            {
                noticeList.Add(new NoticeInfo()
                {
                    NoticeType = NoticeType.系统提示,
                    Time       = DateTime.Now,
                    Title      = actionNotice.Title,
                    Content    = "主要申请人为:" + customerName + "的信息," + actionNotice.Content + "。   审批时间为:" + DateTime.Now,
                    IsRead     = false,
                    UserId     = user.UserId
                });
            }

            return(new Notice.Notice().SendSystem(noticeList));
        }