private Task <List <Post> > LoadPostsOnRelationTypeAsync(Post post, PostRelationType relationType) { switch (relationType) { case PostRelationType.Child: return(_dbContext.Posts.IncludeAll().ExceptScissored().Where(x => x.ParentPostId == post.Id).ToListAsync()); case PostRelationType.Parent: return(_dbContext.Posts.IncludeAll().ExceptScissored().Where(x => x.Id == post.ParentPostId).ToListAsync()); default: return(null); } }
private async Task LoadPostAsync(Post post, ICollection <Post> posts, PostRelationType relationType) { var relationPosts = await LoadPostsOnRelationTypeAsync(post, relationType); if (relationPosts == null || !relationPosts.Any()) { return; } foreach (var relationPost in relationPosts) { await AddPostToCollectionAsync(relationPost, posts); } }