public async Task <ActionResult> Index() { var output = await _categoryAppService.GetPlates(BuildPageListRequstDto()); return(View(output)); }
public async Task <ForumHomeData> GetHomeData() { ForumHomeData data = new ForumHomeData(); data.Plates = (await _plateAppService.GetPlates(new GetPageListRequstDto())).Items; var list = await _forumPostRepository.GetAll() .GroupJoin(_memberRepository.GetAll(), left => left.MemberId, right => right.Id, (left, right) => new { Posts = left, Member = right }) .GroupJoin(_plateRepository.GetAll(), left => left.Posts.PlateId, right => right.Id, (left, right) => new { Posts = left.Posts, Member = left.Member, Plate = right }) .OrderByDescending(t => t.Posts.LastCommentTime) .Take(5) .ToListAsync(); data.TopPosts = new EditableList <PostListItem>(); foreach (var item in list) { data.TopPosts.Add(new PostListItem() { Id = item.Posts.Id, CommentCount = item.Posts.CommentCount, CreationTime = item.Posts.CreationTime, MemberBindRooms = item.Member.FirstOrDefault()?.BindRooms, MemberName = item.Member.FirstOrDefault()?.Name, MemberThumbnail = item.Member.FirstOrDefault()?.Thumbnail, Images = new List <string>(), PlateName = item.Plate.FirstOrDefault()?.Name, ReadCount = item.Posts.ReadCount, Title = item.Posts.Title, Summary = item.Posts.Summary }); } foreach (var post in data.TopPosts) { var iamges = await _forumImageRepository.GetAll() .Where(t => t.OwnerId == post.Id && t.Type == ForumImageType.Posts) .OrderBy(t => t.Id) .Take(3) .ToListAsync(); foreach (var iamge in iamges) { post.Images.Add(iamge.Image); } } return(data); }