/// <summary> /// 统计我的消息 /// </summary> /// <returns></returns> public MessageStatistics StatisticsForMessage() { int count = MessagesAccessor.GetCountFor(ID, false); var result = new MessageStatistics(); result.TotalNoRead = count; return(result); }
public PagerModel <Data.Entity.Messages> Search() { ThrowExceptionIfValidateFailure(); PagerModel <Data.Entity.Messages> pager = new PagerModel <Data.Entity.Messages>() { Index = PageIndex, Size = PageSize }; MessagesAccessor.GerMessagesFor(pager, ReceiverId, IsReaded); return(pager); }
/// <summary> /// 读取消息,如果该消息为未读状态,执行此操作后消息会变为已读状态 /// </summary> /// <param name="userId">提取该消息的用户</param> /// <returns></returns> public Data.Entity.Messages Read(long userId) { ThrowExceptionIfValidateFailure(() => { if (Message.Receiver != userId) { AddBrokenRule(MessageManageFailureRule.NO_ACCESS); } }); if (!Message.Readed) { Message.Readed = true; Message.ReadTime = DateTime.Now; MessagesAccessor.Update(Message); } return(Message); }
public override void Execute() { Validate(); var state = State as MarkingCompleteNoticeEventState; if (state == null) { return; } if (state.UserExam == null) { return; } //考试的类型描述 var examType = state.Exam.ExamType == (int)ExamType.TEST_EXAM ? "练习" : "考试"; //得分情况文字标注颜色 var color = "green"; var passTip = "及格"; if (state.UserExam.Total < state.Exam.Pass) { color = "red"; passTip = "未及格"; } var message = new Data.Entity.Messages { MessageId = IDProvider.NewId, Title = "你的练习(考)卷已阅卷完成,点击查看详情。", Content = $@"你在{state.UserExam.CreateTime}参加的《{state.Exam.Title}》{examType}已完成阅卷,最后得分{state.UserExam.Total}分<span style='color:{color}'>({passTip})</span>,<a href=""/exams/testdetails/{state.UserExam.Id}"">点击查看详细结果</a>。", CreateTime = DateTime.Now, Readed = false, ReadTime = null, Receiver = state.UserExam.UserId, Sender = state.ReviewUser }; MessagesAccessor.Add(message); }
public override void Execute() { Validate(); var state = State as NewStudyPlanNoticeEventState; if (state == null) { return; } if (state.StudentIds == null || state.StudentIds.Count() < 1) { return; } //遍历处理计划内的学员消息 var list = new List <Data.Entity.Messages>(); foreach (var userId in state.StudentIds) { list.Add(new Data.Entity.Messages { MessageId = IDProvider.NewId, Title = "你有新的学习计划,点击查看详情。", Content = $@"你已经被邀请加入学习计划《{state.Plan.Title}》,完成计划内的所有课程,还有更多练习(考)卷自测哦,<a href=""/UserStudyPlan/details/{state.Plan.PlanId}"">点击查看详细计划</a>。", CreateTime = DateTime.Now, Readed = false, ReadTime = null, Receiver = userId, Sender = state.Plan.UserId }); } MessagesAccessor.AddRange(list); }