public void AutoInvalidMeetingUserReturnReceiptTodos(Guid meetingId, bool isSendMessage = false) { var tasks = from a in _workFlowTaskRepository.GetAll() join b in _repository.GetAll() on a.InstanceID equals b.Id.ToString() where b.MeetingId == meetingId && (a.Status == 0 || a.Status == 1) select a; foreach (var item in tasks) { item.Status = 10; _workFlowTaskRepository.Update(item); } if (isSendMessage) { var taskUsers = (from a in tasks group a by a.ReceiveID into g select g).ToList(); if (taskUsers.Count() > 0) { foreach (var item in taskUsers) { var task = item.FirstOrDefault(); _noticeManager.CreateOrUpdateNotice(new NoticePublishInput() { Title = task.Title + "终止任务", Content = "终止任务", NoticeUserIds = task.ReceiveID.ToString(), NoticeType = 1 }); } } } }
public void CreateProjectWorkSpaceNoticeSync(NoticePublishInputForWorkSpaceInput input) { var projectModel = _singleProjectInfoRepository.Get(input.ProjectId); string userIdStr = ""; switch (input.UserType) { case 0: var projectMembers = _projectAuditMemberRepository.GetAll().Where(r => r.ProjectBaseId == projectModel.Id); var userIds = projectMembers.Select(r => r.UserId).Distinct().ToList(); if (projectModel.CreatorUserId.HasValue) { if (!userIds.Contains(projectModel.CreatorUserId.Value)) { userIds.Add(projectModel.CreatorUserId.Value); } } Debug.Assert(AbpSession.UserId != null, ""); var currentUserId = AbpSession.UserId.Value; if (!userIds.Contains(currentUserId)) { userIds.Add(currentUserId); } userIdStr = string.Join(",", userIds); break; case 1: var task = _workFlowTaskRepository.GetAll().Where(x => x.InstanceID == projectModel.Id.ToString()).OrderByDescending(x => x.Sort).FirstOrDefault(); if (task != null) { var taskUserIds = _workFlowTaskRepository.GetAll().Where(x => x.InstanceID == projectModel.Id.ToString() && x.Sort < task.Sort).Select(r => r.ReceiveID).Distinct().ToList(); userIdStr = string.Join(",", taskUserIds); } break; case 3: var taskAllUserIds = _workFlowTaskRepository.GetAll().Where(x => x.InstanceID == projectModel.Id.ToString()).Select(r => r.ReceiveID).Distinct().ToList(); userIdStr = string.Join(",", taskAllUserIds); break; case 2: userIdStr = input.NoticeUserIds; break; } if (!string.IsNullOrEmpty(userIdStr)) { _noticeManager.CreateOrUpdateNotice(new ZCYX.FRMSCore.Application.NoticePublishInput() { Title = input.Title, Content = input.Content, NoticeUserIds = userIdStr, NoticeType = 1 }); } }
/// <summary> /// 课程推荐成功后给推荐人发消息 /// </summary> /// <param name="eventParams"></param> public void SendMessageForRecommendUser(WorkFlowCustomEventParams eventParams) { var id = Guid.Parse(eventParams.InstanceID); var recommend = _repository.Get(id); if (recommend != null && (recommend.CreatorUserId ?? 0) != 0) { _noticeManager.CreateOrUpdateNotice(new NoticePublishInput() { Title = "课程推荐回复通知", Content = "感谢您提供的宝贵资源,我们已经收到,期待您更多的分享", NoticeUserIds = recommend.CreatorUserId.ToString(), NoticeType = 1 }); } }