/// <summary> /// 获取私信需提醒信息 /// </summary> /// <returns></returns> public IEnumerable <UserReminderInfo> GetUserReminderInfos() { var sql = PetaPoco.Sql.Builder; sql.Select("tn_Messages.*") .From("tn_Messages") .InnerJoin("tn_Users") .On("tn_Messages.ReceiverUserId = tn_Users.UserId") .Where("tn_Users.IsEmailVerified = 1") .Where("tn_Messages.IsRead = 0") .OrderBy("tn_Messages.ReceiverUserId") .OrderBy("tn_Messages.MessageId"); IEnumerable <Message> userReminderInfos_object = CreateDAO().Fetch <Message>(sql); List <UserReminderInfo> userRminderInfos = new List <UserReminderInfo>(); foreach (long userId in userReminderInfos_object.Select(n => n.ReceiverUserId).Distinct()) { UserReminderInfo userReminderInfo = new UserReminderInfo(); userReminderInfo.UserId = userId; userReminderInfo.ReminderInfoType = ReminderInfoType.Get(ReminderInfoTypeIds.Instance().Message()); IEnumerable <ReminderInfo> reminderInfos = userReminderInfos_object.Where(n => n.ReceiverUserId == userId).Select(n => new ReminderInfo { ObjectId = n.MessageId, Title = string.Format("{0}:{1}", n.Sender, n.Body), DateCreated = n.DateCreated }); foreach (var reminderInfo in reminderInfos) { userReminderInfo.Append(reminderInfo); } userRminderInfos.Add(userReminderInfo); } return(userRminderInfos); }
/// <summary> /// 静态构造器 /// </summary> static ReminderInfoType() { registeredReminderInfoTypes[ReminderInfoTypeIds.Instance().Message()] = new ReminderInfoType() { TypeId = ReminderInfoTypeIds.Instance().Message(), TypeName = "私信" }; registeredReminderInfoTypes[ReminderInfoTypeIds.Instance().Notice()] = new ReminderInfoType() { TypeId = ReminderInfoTypeIds.Instance().Notice(), TypeName = "通知" }; registeredReminderInfoTypes[ReminderInfoTypeIds.Instance().Invitation()] = new ReminderInfoType() { TypeId = ReminderInfoTypeIds.Instance().Invitation(), TypeName = "请求" }; }