/// <summary> /// 返回所有liked用户, bool是否还有 /// </summary> /// <param name="noteId"></param> /// <param name="isALL"></param> /// <param name="hasMoreLikedUser"></param> /// <returns></returns> public UserAndBlog[] ListLikedUsers(long?noteId, bool isALL, out bool hasMoreLikedUser) { var pageSize = 5;//默认前5 int skipNum; string sortFieldR; CommonService.parsePageAndSort(1, pageSize, "CreatedTime", false, out skipNum, out sortFieldR); var result = dataContext.BlogLike.Where(b => b.NoteId == noteId).OrderBy(a => a.CreatedTime); if (result == null || !result.Any()) { hasMoreLikedUser = false; return(null); } List <BlogLike> allResult = null; var likes = result.ToList <BlogLike>(); // 总记录数 var count = likes.Count(); if (count < 1) { hasMoreLikedUser = false; return(null); } if (isALL) { allResult = (from a in likes orderby a.CreatedTime ascending select a).Skip(skipNum).Take(pageSize).ToList <BlogLike>(); } else { allResult = (from a in likes orderby a.CreatedTime ascending select a).ToList <BlogLike>(); } // 得到所有userIds List <long?> userIds = new List <long?>(); foreach (var like in likes) { userIds.Add(like.UserId); } // 得到用户信息 var userMap = UserService.MapUserAndBlogByUserIds(userIds.ToArray()); UserAndBlog[] users = new UserAndBlog[likes.Count]; for (int i = 0; i < likes.Count; i++) { users[i] = userMap[likes[i].UserId]; } //todo:ListLikedUsers hasMoreLikedUser = (count > pageSize); return(users); }
/// <summary> /// 得到userAndBlog公开信息 /// </summary> /// <param name="userId">用户ID</param> /// <returns></returns> public UserAndBlog GetUserAndBlog(long?userId) { var user = this.GetUserInfo(userId); var userBlog = BlogService.GetUserBlog(userId); var userAndBlog = new UserAndBlog() { UserId = user.UserId, Username = user.Username, Email = user.Email, Logo = user.Logo, BlogTitle = userBlog.Title, BlogLogo = userBlog.Logo, BlogUrl = BlogService.GetUserBlogUrl(userBlog, user.Username), BlogUrls = BlogService.GetBlogUrls(userBlog, user) }; return(userAndBlog); }