Browse Source
list author only has published posts
pull/12073/head
Musa Demir
4 years ago
No known key found for this signature in database
GPG Key ID: 117DF92322553DC8
2 changed files with
9 additions and
4 deletions
-
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs
-
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs
|
|
|
@ -106,7 +106,9 @@ public class EfCoreBlogPostRepository : EfCoreRepository<CmsKitDbContext, BlogPo |
|
|
|
|
|
|
|
public async Task<List<CmsUser>> GetAuthorsHasBlogPosts(CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
return await (await GetDbContextAsync()).BlogPosts.Select(x => x.Author).Distinct() |
|
|
|
return await (await GetDbContextAsync()).BlogPosts |
|
|
|
.Where(x => x.Status == BlogPostStatus.Published) |
|
|
|
.Select(x => x.Author).Distinct() |
|
|
|
.ToListAsync(GetCancellationToken(cancellationToken)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -110,9 +110,12 @@ public class MongoBlogPostRepository : MongoDbRepository<CmsKitMongoDbContext, B |
|
|
|
|
|
|
|
public async Task<List<CmsUser>> GetAuthorsHasBlogPosts(CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
var blogPostQueryable = (await GetQueryableAsync()); |
|
|
|
cancellationToken = GetCancellationToken(cancellationToken); |
|
|
|
|
|
|
|
var blogPostQueryable = (await GetQueryableAsync()) |
|
|
|
.Where(x => x.Status == BlogPostStatus.Published); |
|
|
|
|
|
|
|
var usersQueryable = (await GetDbContextAsync()).Collection<CmsUser>().AsQueryable(); |
|
|
|
var usersQueryable = (await GetDbContextAsync(cancellationToken)).Collection<CmsUser>().AsQueryable(); |
|
|
|
|
|
|
|
var queryable = blogPostQueryable |
|
|
|
.Join( |
|
|
|
@ -123,6 +126,6 @@ public class MongoBlogPostRepository : MongoDbRepository<CmsKitMongoDbContext, B |
|
|
|
.Select(s => s.user) |
|
|
|
.Distinct(); |
|
|
|
|
|
|
|
return await AsyncExecuter.ToListAsync(queryable, GetCancellationToken(cancellationToken)); |
|
|
|
return await AsyncExecuter.ToListAsync(queryable, cancellationToken); |
|
|
|
} |
|
|
|
} |
|
|
|
|