Browse Source

Merge remote-tracking branch 'origin/dev' into cms-kit/content-admin

pull/6926/head
enisn 6 years ago
parent
commit
5a1bbb16f7
  1. 2
      modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Blogs/EfCoreBlogRepository.cs
  2. 12
      modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Comments/EfCoreCommentRepository.cs
  3. 18
      modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs
  4. 10
      modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Tagging/EfCoreTagRepository.cs
  5. 2
      modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs
  6. 8
      modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs
  7. 12
      modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs
  8. 10
      modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs
  9. 2
      modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs
  10. 6
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Comments/EfCoreCommentRepository.cs
  11. 6
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs
  12. 6
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Ratings/EfCoreRatingRepository.cs
  13. 6
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Reactions/EfCoreUserReactionRepository.cs
  14. 8
      modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreTagRepository.cs
  15. 8
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Comments/MongoCommentRepository.cs
  16. 8
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs
  17. 6
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Ratings/MongoRatingRepository.cs
  18. 6
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Reactions/MongoUserReactionRepository.cs
  19. 10
      modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs
  20. 14
      modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Documents/EFCoreDocumentRepository.cs
  21. 14
      modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs
  22. 18
      modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Documents/MongoDocumentRepository.cs
  23. 14
      modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs

2
modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Blogs/EfCoreBlogRepository.cs

@ -17,7 +17,7 @@ namespace Volo.Blogging.Blogs
public async Task<Blog> FindByShortNameAsync(string shortName)
{
return await DbSet.FirstOrDefaultAsync(p => p.ShortName == shortName);
return await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == shortName);
}
}
}

12
modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Comments/EfCoreCommentRepository.cs

@ -11,14 +11,14 @@ namespace Volo.Blogging.Comments
{
public class EfCoreCommentRepository : EfCoreRepository<IBloggingDbContext, Comment, Guid>, ICommentRepository
{
public EfCoreCommentRepository(IDbContextProvider<IBloggingDbContext> dbContextProvider)
public EfCoreCommentRepository(IDbContextProvider<IBloggingDbContext> dbContextProvider)
: base(dbContextProvider)
{
}
public async Task<List<Comment>> GetListOfPostAsync(Guid postId)
{
return await DbSet
return await (await GetDbSetAsync())
.Where(a => a.PostId == postId)
.OrderBy(a => a.CreationTime)
.ToListAsync();
@ -26,20 +26,20 @@ namespace Volo.Blogging.Comments
public async Task<int> GetCommentCountOfPostAsync(Guid postId)
{
return await DbSet
return await (await GetDbSetAsync())
.CountAsync(a => a.PostId == postId);
}
public async Task<List<Comment>> GetRepliesOfComment(Guid id)
{
return await DbSet
return await (await GetDbSetAsync())
.Where(a => a.RepliedCommentId == id).ToListAsync();
}
public async Task DeleteOfPost(Guid id)
{
var recordsToDelete = DbSet.Where(pt => pt.PostId == id);
DbSet.RemoveRange(recordsToDelete);
var recordsToDelete = (await GetDbSetAsync()).Where(pt => pt.PostId == id);
(await GetDbSetAsync()).RemoveRange(recordsToDelete);
}
}
}

18
modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Posts/EfCorePostRepository.cs

@ -20,24 +20,24 @@ namespace Volo.Blogging.Posts
public async Task<List<Post>> GetPostsByBlogId(Guid id)
{
return await DbSet.Where(p => p.BlogId == id).OrderByDescending(p=>p.CreationTime).ToListAsync();
return await (await GetDbSetAsync()).Where(p => p.BlogId == id).OrderByDescending(p=>p.CreationTime).ToListAsync();
}
public Task<bool> IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null)
public async Task<bool> IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null)
{
var query = DbSet.Where(p => blogId == p.BlogId && p.Url == url);
var query = (await GetDbSetAsync()).Where(p => blogId == p.BlogId && p.Url == url);
if (excludingPostId != null)
{
query = query.Where(p => excludingPostId != p.Id);
}
return query.AnyAsync();
return await query.AnyAsync();
}
public async Task<Post> GetPostByUrl(Guid blogId, string url)
{
var post = await DbSet.FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url);
var post = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url);
if (post == null)
{
@ -51,18 +51,18 @@ namespace Volo.Blogging.Posts
{
if (!descending)
{
return await DbSet.Where(x=>x.BlogId==blogId).OrderByDescending(x => x.CreationTime).ToListAsync();
return await (await GetDbSetAsync()).Where(x=>x.BlogId==blogId).OrderByDescending(x => x.CreationTime).ToListAsync();
}
else
{
return await DbSet.Where(x => x.BlogId == blogId).OrderBy(x => x.CreationTime).ToListAsync();
return await (await GetDbSetAsync()).Where(x => x.BlogId == blogId).OrderBy(x => x.CreationTime).ToListAsync();
}
}
public override IQueryable<Post> WithDetails()
public override async Task<IQueryable<Post>> WithDetailsAsync()
{
return GetQueryable().IncludeDetails();
return (await GetQueryableAsync()).IncludeDetails();
}
}
}

10
modules/blogging/src/Volo.Blogging.EntityFrameworkCore/Volo/Blogging/Tagging/EfCoreTagRepository.cs

@ -19,27 +19,27 @@ namespace Volo.Blogging.Tagging
public async Task<List<Tag>> GetListAsync(Guid blogId)
{
return await DbSet.Where(t=>t.BlogId == blogId).ToListAsync();
return await (await GetDbSetAsync()).Where(t=>t.BlogId == blogId).ToListAsync();
}
public async Task<Tag> GetByNameAsync(Guid blogId, string name)
{
return await DbSet.FirstAsync(t=> t.BlogId == blogId && t.Name == name);
return await (await GetDbSetAsync()).FirstAsync(t=> t.BlogId == blogId && t.Name == name);
}
public async Task<Tag> FindByNameAsync(Guid blogId, string name)
{
return await DbSet.FirstOrDefaultAsync(t => t.BlogId == blogId && t.Name == name);
return await (await GetDbSetAsync()).FirstOrDefaultAsync(t => t.BlogId == blogId && t.Name == name);
}
public async Task<List<Tag>> GetListAsync(IEnumerable<Guid> ids)
{
return await DbSet.Where(t => ids.Contains(t.Id)).ToListAsync();
return await (await GetDbSetAsync()).Where(t => ids.Contains(t.Id)).ToListAsync();
}
public async Task DecreaseUsageCountOfTagsAsync(List<Guid> ids, CancellationToken cancellationToken = default)
{
var tags = await DbSet
var tags = await (await GetDbSetAsync())
.Where(t => ids.Any(id => id == t.Id))
.ToListAsync(GetCancellationToken(cancellationToken));

2
modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Blogs/MongoBlogRepository.cs

@ -15,7 +15,7 @@ namespace Volo.Blogging.Blogs
public async Task<Blog> FindByShortNameAsync(string shortName)
{
return await GetMongoQueryable().FirstOrDefaultAsync(p => p.ShortName == shortName);
return await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.ShortName == shortName);
}
}
}

8
modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Comments/MongoCommentRepository.cs

@ -17,7 +17,7 @@ namespace Volo.Blogging.Comments
public async Task<List<Comment>> GetListOfPostAsync(Guid postId)
{
return await GetMongoQueryable()
return await (await GetMongoQueryableAsync())
.Where(a => a.PostId == postId)
.OrderBy(a => a.CreationTime)
.ToListAsync();
@ -25,19 +25,19 @@ namespace Volo.Blogging.Comments
public async Task<int> GetCommentCountOfPostAsync(Guid postId)
{
return await GetMongoQueryable()
return await (await GetMongoQueryableAsync())
.CountAsync(a => a.PostId == postId);
}
public async Task<List<Comment>> GetRepliesOfComment(Guid id)
{
return await GetMongoQueryable()
return await (await GetMongoQueryableAsync())
.Where(a => a.RepliedCommentId == id).ToListAsync();
}
public async Task DeleteOfPost(Guid id)
{
var recordsToDelete = GetMongoQueryable().Where(pt => pt.PostId == id);
var recordsToDelete = (await GetMongoQueryableAsync()).Where(pt => pt.PostId == id);
foreach (var record in recordsToDelete)
{

12
modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Posts/MongoPostRepository.cs

@ -18,25 +18,25 @@ namespace Volo.Blogging.Posts
public async Task<List<Post>> GetPostsByBlogId(Guid id)
{
return await GetMongoQueryable().Where(p => p.BlogId == id).OrderByDescending(p => p.CreationTime).ToListAsync();
return await (await GetMongoQueryableAsync()).Where(p => p.BlogId == id).OrderByDescending(p => p.CreationTime).ToListAsync();
}
public Task<bool> IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null)
public async Task<bool> IsPostUrlInUseAsync(Guid blogId, string url, Guid? excludingPostId = null)
{
var query = GetMongoQueryable().Where(p => blogId == p.BlogId && p.Url == url);
var query = (await GetMongoQueryableAsync()).Where(p => blogId == p.BlogId && p.Url == url);
if (excludingPostId != null)
{
query = query.Where(p => excludingPostId != p.Id);
}
return query.AnyAsync();
return await query.AnyAsync();
}
public async Task<Post> GetPostByUrl(Guid blogId, string url)
{
var post = await GetMongoQueryable().FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url);
var post = await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.BlogId == blogId && p.Url == url);
if (post == null)
{
@ -48,7 +48,7 @@ namespace Volo.Blogging.Posts
public async Task<List<Post>> GetOrderedList(Guid blogId, bool @descending = false)
{
var query = GetMongoQueryable().Where(x => x.BlogId == blogId);
var query = (await GetMongoQueryableAsync()).Where(x => x.BlogId == blogId);
if (!descending)
{

10
modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Tagging/MongoTagRepository.cs

@ -20,27 +20,27 @@ namespace Volo.Blogging.Tagging
public async Task<List<Tag>> GetListAsync(Guid blogId)
{
return await GetMongoQueryable().Where(t => t.BlogId == blogId).ToListAsync();
return await (await GetMongoQueryableAsync()).Where(t => t.BlogId == blogId).ToListAsync();
}
public async Task<Tag> GetByNameAsync(Guid blogId, string name)
{
return await GetMongoQueryable().Where(t => t.BlogId == blogId && t.Name == name).FirstAsync();
return await (await GetMongoQueryableAsync()).Where(t => t.BlogId == blogId && t.Name == name).FirstAsync();
}
public async Task<Tag> FindByNameAsync(Guid blogId, string name)
{
return await GetMongoQueryable().Where(t => t.BlogId == blogId && t.Name == name).FirstOrDefaultAsync();
return await (await GetMongoQueryableAsync()).Where(t => t.BlogId == blogId && t.Name == name).FirstOrDefaultAsync();
}
public async Task<List<Tag>> GetListAsync(IEnumerable<Guid> ids)
{
return await GetMongoQueryable().Where(t => ids.Contains(t.Id)).ToListAsync();
return await (await GetMongoQueryableAsync()).Where(t => ids.Contains(t.Id)).ToListAsync();
}
public async Task DecreaseUsageCountOfTagsAsync(List<Guid> ids, CancellationToken cancellationToken = default)
{
var tags = await GetMongoQueryable()
var tags = await (await GetMongoQueryableAsync())
.Where(t => ids.Contains(t.Id))
.ToListAsync(GetCancellationToken(cancellationToken));

2
modules/blogging/src/Volo.Blogging.MongoDB/Volo/Blogging/Users/MongoBlogUserRepository.cs

@ -17,7 +17,7 @@ namespace Volo.Blogging.Users
public async Task<List<BlogUser>> GetUsersAsync(int maxCount, string filter, CancellationToken cancellationToken)
{
var query = GetMongoQueryable();
var query = await GetMongoQueryableAsync(cancellationToken);
if (!string.IsNullOrWhiteSpace(filter))
{

6
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Comments/EfCoreCommentRepository.cs

@ -28,8 +28,8 @@ namespace Volo.CmsKit.Comments
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
var query = from comment in DbSet
join user in DbContext.Set<CmsUser>() on comment.CreatorId equals user.Id
var query = from comment in (await GetDbSetAsync())
join user in (await GetDbContextAsync()).Set<CmsUser>() on comment.CreatorId equals user.Id
where entityType == comment.EntityType && entityId == comment.EntityId
orderby comment.CreationTime
select new CommentWithAuthorQueryResultItem
@ -45,7 +45,7 @@ namespace Volo.CmsKit.Comments
Comment comment,
CancellationToken cancellationToken = default)
{
var replies = await DbSet
var replies = await (await GetDbSetAsync())
.Where(x => x.RepliedCommentId == comment.Id)
.ToListAsync(GetCancellationToken(cancellationToken));

6
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs

@ -23,9 +23,9 @@ namespace Volo.CmsKit.Pages
return FindAsync(x => x.Url == url);
}
public Task<bool> DoesExistAsync(string url)
public async Task<bool> DoesExistAsync(string url)
{
return DbSet.AnyAsync(x => x.Url == url);
return await (await GetDbSetAsync()).AnyAsync(x => x.Url == url);
}
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Ratings/EfCoreRatingRepository.cs

@ -24,7 +24,7 @@ namespace Volo.CmsKit.Ratings
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
var rating = await DbSet.FirstOrDefaultAsync(
var rating = await (await GetDbSetAsync()).FirstOrDefaultAsync(
r => r.EntityType == entityType && r.EntityId == entityId && r.CreatorId == userId,
GetCancellationToken(cancellationToken));
@ -38,7 +38,7 @@ namespace Volo.CmsKit.Ratings
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
var query = (
from rating in DbSet
from rating in (await GetDbSetAsync())
where rating.EntityType == entityType && rating.EntityId == entityId
group rating by rating.StarCount
into g
@ -54,4 +54,4 @@ namespace Volo.CmsKit.Ratings
return ratings;
}
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Reactions/EfCoreUserReactionRepository.cs

@ -30,7 +30,7 @@ namespace Volo.CmsKit.Reactions
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
Check.NotNullOrWhiteSpace(reactionName, nameof(reactionName));
return await DbSet
return await (await GetDbSetAsync())
.Where(x =>
x.CreatorId == userId &&
x.EntityType == entityType &&
@ -48,7 +48,7 @@ namespace Volo.CmsKit.Reactions
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
return await DbSet
return await (await GetDbSetAsync())
.Where(x =>
x.CreatorId == userId &&
x.EntityType == entityType &&
@ -64,7 +64,7 @@ namespace Volo.CmsKit.Reactions
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
return await DbSet
return await (await GetDbSetAsync())
.Where(x =>
x.EntityType == entityType &&
x.EntityId == entityId)

8
modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Tags/EfCoreTagRepository.cs

@ -19,13 +19,13 @@ namespace Volo.CmsKit.Tags
{
}
public virtual Task<bool> AnyAsync(
public virtual async Task<bool> AnyAsync(
[NotNull] string entityType,
[NotNull] string name,
Guid? tenantId = null,
CancellationToken cancellationToken = default)
{
return DbSet.AnyAsync(x =>
return await (await GetDbSetAsync()).AnyAsync(x =>
x.EntityType == entityType &&
x.Name == name &&
x.TenantId == tenantId,
@ -64,12 +64,12 @@ namespace Volo.CmsKit.Tags
Guid? tenantId = null,
CancellationToken cancellationToken = default)
{
var entityTagIds = await DbContext.Set<EntityTag>()
var entityTagIds = await (await GetDbContextAsync()).Set<EntityTag>()
.Where(q => q.EntityId == entityId && q.TenantId == tenantId)
.Select(q => q.TagId)
.ToListAsync(cancellationToken: GetCancellationToken(cancellationToken));
var query = DbSet
var query = (await GetDbSetAsync())
.Where(x => x.EntityType == entityType &&
x.TenantId == tenantId &&
entityTagIds.Contains(x.Id));

8
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Comments/MongoCommentRepository.cs

@ -26,15 +26,15 @@ namespace Volo.CmsKit.MongoDB.Comments
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
var authorsQuery = from comment in GetMongoQueryable()
join user in DbContext.CmsUsers on comment.CreatorId equals user.Id
var authorsQuery = from comment in (await GetMongoQueryableAsync(cancellationToken))
join user in (await GetDbContextAsync(cancellationToken)).CmsUsers on comment.CreatorId equals user.Id
where entityType == comment.EntityType && entityId == comment.EntityId
orderby comment.CreationTime
select user;
var authors = await authorsQuery.ToListAsync(GetCancellationToken(cancellationToken));
var comments = await GetMongoQueryable()
var comments = await (await GetMongoQueryableAsync(cancellationToken))
.Where(c => c.EntityId == entityId && c.EntityType == entityType)
.OrderBy(c => c.CreationTime)
.ToListAsync(GetCancellationToken(cancellationToken));
@ -53,7 +53,7 @@ namespace Volo.CmsKit.MongoDB.Comments
Comment comment,
CancellationToken cancellationToken = default)
{
var replies = await GetMongoQueryable()
var replies = await (await GetMongoQueryableAsync(cancellationToken))
.Where(x => x.RepliedCommentId == comment.Id)
.ToListAsync(GetCancellationToken(cancellationToken));

8
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs

@ -22,10 +22,10 @@ namespace Volo.CmsKit.MongoDB.Pages
{
return FindAsync(x => x.Url == url);
}
public Task<bool> DoesExistAsync(string url)
public async Task<bool> DoesExistAsync(string url)
{
return GetMongoQueryable().AnyAsync(x => x.Url == url);
return await (await GetMongoQueryableAsync()).AnyAsync(x => x.Url == url);
}
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Ratings/MongoRatingRepository.cs

@ -25,7 +25,7 @@ namespace Volo.CmsKit.MongoDB.Ratings
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
var rating = await GetMongoQueryable()
var rating = await (await GetMongoQueryableAsync(cancellationToken))
.FirstOrDefaultAsync(r => r.EntityType == entityType && r.EntityId == entityId && r.CreatorId == userId,
GetCancellationToken(cancellationToken));
@ -39,7 +39,7 @@ namespace Volo.CmsKit.MongoDB.Ratings
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
var query = (
from rating in GetMongoQueryable()
from rating in (await GetMongoQueryableAsync(cancellationToken))
where rating.EntityType == entityType && rating.EntityId == entityId
group rating by rating.StarCount
into g
@ -55,4 +55,4 @@ namespace Volo.CmsKit.MongoDB.Ratings
return ratings;
}
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Reactions/MongoUserReactionRepository.cs

@ -29,7 +29,7 @@ namespace Volo.CmsKit.MongoDB.Reactions
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
Check.NotNullOrWhiteSpace(reactionName, nameof(reactionName));
return await GetMongoQueryable()
return await (await GetMongoQueryableAsync(cancellationToken))
.Where(x =>
x.CreatorId == userId &&
x.EntityType == entityType &&
@ -47,7 +47,7 @@ namespace Volo.CmsKit.MongoDB.Reactions
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
return await GetMongoQueryable()
return await (await GetMongoQueryableAsync(cancellationToken))
.Where(x =>
x.CreatorId == userId &&
x.EntityType == entityType &&
@ -63,7 +63,7 @@ namespace Volo.CmsKit.MongoDB.Reactions
Check.NotNullOrWhiteSpace(entityType, nameof(entityType));
Check.NotNullOrWhiteSpace(entityId, nameof(entityId));
return await GetMongoQueryable()
return await (await GetMongoQueryableAsync(cancellationToken))
.Where(x =>
x.EntityType == entityType &&
x.EntityId == entityId)

10
modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Tags/MongoTagRepository.cs

@ -18,13 +18,13 @@ namespace Volo.CmsKit.MongoDB.Tags
{
}
public Task<bool> AnyAsync(
public async Task<bool> AnyAsync(
[NotNull] string entityType,
[NotNull] string name,
Guid? tenantId = null,
CancellationToken cancellationToken = default)
{
return GetMongoQueryable()
return await (await GetMongoQueryableAsync(cancellationToken))
.AnyAsync(x =>
x.EntityType == entityType &&
x.Name == name &&
@ -64,13 +64,13 @@ namespace Volo.CmsKit.MongoDB.Tags
Guid? tenantId = null,
CancellationToken cancellationToken = default)
{
var entityTagIds = await DbContext.EntityTags.AsQueryable()
var entityTagIds = await (await GetDbContextAsync(cancellationToken)).EntityTags.AsQueryable()
.Where(q => q.EntityId == entityId && q.TenantId == tenantId)
.Select(q => q.TagId)
.ToListAsync(cancellationToken: GetCancellationToken(cancellationToken));
var query = GetMongoQueryable()
.Where(x =>
var query = (await GetMongoQueryableAsync(cancellationToken))
.Where(x =>
x.EntityType == entityType &&
x.TenantId == tenantId &&
entityTagIds.Contains(x.Id));

14
modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Documents/EFCoreDocumentRepository.cs

@ -21,7 +21,7 @@ namespace Volo.Docs.Documents
public async Task<List<Document>> GetListByProjectId(Guid projectId,
CancellationToken cancellationToken = default)
{
return await DbSet.Where(d => d.ProjectId == projectId).ToListAsync(cancellationToken: cancellationToken);
return await (await GetDbSetAsync()).Where(d => d.ProjectId == projectId).ToListAsync(cancellationToken: cancellationToken);
}
public async Task<List<Document>> GetAllAsync(
@ -45,7 +45,7 @@ namespace Volo.Docs.Documents
CancellationToken cancellationToken = default)
{
var query = ApplyFilterForGetAll(
DbSet,
await GetDbSetAsync(),
projectId: projectId,
name: name,
version: version,
@ -87,7 +87,7 @@ namespace Volo.Docs.Documents
CancellationToken cancellationToken = default)
{
var query = ApplyFilterForGetAll(
DbSet,
await GetDbSetAsync(),
projectId: projectId,
name: name,
version: version,
@ -111,7 +111,7 @@ namespace Volo.Docs.Documents
bool includeDetails = true,
CancellationToken cancellationToken = default)
{
return await DbSet.IncludeDetails(includeDetails)
return await (await GetDbSetAsync()).IncludeDetails(includeDetails)
.FirstOrDefaultAsync(x =>
x.ProjectId == projectId && x.Name == name && x.LanguageCode == languageCode &&
x.Version == version,
@ -127,7 +127,7 @@ namespace Volo.Docs.Documents
public async Task<Document> GetAsync(Guid id, CancellationToken cancellationToken = default)
{
return await DbSet.Where(x => x.Id == id).SingleAsync(cancellationToken: cancellationToken);
return await (await GetDbSetAsync()).Where(x => x.Id == id).SingleAsync(cancellationToken: cancellationToken);
}
protected virtual IQueryable<Document> ApplyFilterForGetAll(
@ -148,7 +148,7 @@ namespace Volo.Docs.Documents
DateTime? lastCachedTimeMax,
CancellationToken cancellationToken = default)
{
return DbSet
return query
.WhereIf(projectId.HasValue,
d => d.ProjectId == projectId.Value)
.WhereIf(name != null,
@ -179,4 +179,4 @@ namespace Volo.Docs.Documents
d => d.LastCachedTime.Date <= lastCachedTimeMax.Value.Date);
}
}
}
}

14
modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs

@ -20,7 +20,7 @@ namespace Volo.Docs.Projects
public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount)
{
var projects = await DbSet.OrderBy(sorting ?? "Id desc")
var projects = await (await GetDbSetAsync()).OrderBy(sorting ?? "Id desc")
.PageBy(skipCount, maxResultCount)
.ToListAsync();
@ -30,8 +30,8 @@ namespace Volo.Docs.Projects
public async Task<Project> GetByShortNameAsync(string shortName)
{
var normalizeShortName = NormalizeShortName(shortName);
var project = await DbSet.FirstOrDefaultAsync(p => p.ShortName == normalizeShortName);
var project = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName);
if (project == null)
{
@ -44,13 +44,13 @@ namespace Volo.Docs.Projects
public async Task<bool> ShortNameExistsAsync(string shortName)
{
var normalizeShortName = NormalizeShortName(shortName);
return await DbSet.AnyAsync(x => x.ShortName == normalizeShortName);
return await (await GetDbSetAsync()).AnyAsync(x => x.ShortName == normalizeShortName);
}
private string NormalizeShortName(string shortName)
{
return shortName.ToLower();
}
}
}
}

18
modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Documents/MongoDocumentRepository.cs

@ -22,17 +22,17 @@ namespace Volo.Docs.Documents
public async Task<List<Document>> GetListByProjectId(Guid projectId, CancellationToken cancellationToken = default)
{
return await GetMongoQueryable().Where(d => d.ProjectId == projectId).ToListAsync(cancellationToken);
return await (await GetMongoQueryableAsync(cancellationToken)).Where(d => d.ProjectId == projectId).ToListAsync(cancellationToken);
}
public async Task<Document> FindAsync(Guid projectId, string name, string languageCode, string version,
bool includeDetails = true,
CancellationToken cancellationToken = default)
{
return await GetMongoQueryable().FirstOrDefaultAsync(x => x.ProjectId == projectId &&
x.Name == name &&
x.LanguageCode == languageCode &&
x.Version == version, cancellationToken);
return await (await GetMongoQueryableAsync(cancellationToken)).FirstOrDefaultAsync(x => x.ProjectId == projectId &&
x.Name == name &&
x.LanguageCode == languageCode &&
x.Version == version, cancellationToken);
}
public async Task DeleteAsync(Guid projectId, string name, string languageCode, string version,
@ -66,7 +66,7 @@ namespace Volo.Docs.Documents
return await
ApplyFilterForGetAll(
GetMongoQueryable(),
await GetMongoQueryableAsync(cancellationToken),
projectId: projectId,
name: name,
version: version,
@ -110,7 +110,7 @@ namespace Volo.Docs.Documents
return await
ApplyFilterForGetAll(
GetMongoQueryable(),
await GetMongoQueryableAsync(cancellationToken),
projectId: projectId,
name: name,
version: version,
@ -132,7 +132,7 @@ namespace Volo.Docs.Documents
public async Task<Document> GetAsync(Guid id, CancellationToken cancellationToken = default)
{
return await GetMongoQueryable().Where(x => x.Id == id).SingleAsync(cancellationToken);
return await (await GetMongoQueryableAsync(cancellationToken)).Where(x => x.Id == id).SingleAsync(cancellationToken);
}
protected virtual IMongoQueryable<Document> ApplyFilterForGetAll(
@ -221,4 +221,4 @@ namespace Volo.Docs.Documents
return query;
}
}
}
}

14
modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs

@ -21,7 +21,7 @@ namespace Volo.Docs.Projects
public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount)
{
var projects = await GetMongoQueryable().OrderBy(sorting ?? "Id desc").As<IMongoQueryable<Project>>()
var projects = await (await GetMongoQueryableAsync()).OrderBy(sorting ?? "Id desc").As<IMongoQueryable<Project>>()
.PageBy<Project, IMongoQueryable<Project>>(skipCount, maxResultCount)
.ToListAsync();
@ -31,8 +31,8 @@ namespace Volo.Docs.Projects
public async Task<Project> GetByShortNameAsync(string shortName)
{
var normalizeShortName = NormalizeShortName(shortName);
var project = await GetMongoQueryable().FirstOrDefaultAsync(p => p.ShortName == normalizeShortName);
var project = await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName);
if (project == null)
{
@ -45,13 +45,13 @@ namespace Volo.Docs.Projects
public async Task<bool> ShortNameExistsAsync(string shortName)
{
var normalizeShortName = NormalizeShortName(shortName);
return await GetMongoQueryable().AnyAsync(x => x.ShortName == normalizeShortName);
return await (await GetMongoQueryableAsync()).AnyAsync(x => x.ShortName == normalizeShortName);
}
private string NormalizeShortName(string shortName)
{
return shortName.ToLower();
}
}
}
}

Loading…
Cancel
Save