Browse Source

Add CancellationToken optional parameter to the Docs module repository methods

pull/7359/head
liangshiwei 6 years ago
parent
commit
746dc8a1e0
  1. 9
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs
  2. 13
      modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs
  3. 15
      modules/docs/src/Volo.Docs.MongoDB/Volo/Docs/Projects/MongoProjectRepository.cs

9
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
@ -7,10 +8,10 @@ namespace Volo.Docs.Projects
{ {
public interface IProjectRepository : IBasicRepository<Project, Guid> public interface IProjectRepository : IBasicRepository<Project, Guid>
{ {
Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount); Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default);
Task<Project> GetByShortNameAsync(string shortName); Task<Project> GetByShortNameAsync(string shortName, CancellationToken cancellationToken = default);
Task<bool> ShortNameExistsAsync(string shortName); Task<bool> ShortNameExistsAsync(string shortName, CancellationToken cancellationToken = default);
} }
} }

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

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Linq.Dynamic.Core; using System.Linq.Dynamic.Core;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
@ -18,20 +19,20 @@ namespace Volo.Docs.Projects
{ {
} }
public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount) public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default)
{ {
var projects = await (await GetDbSetAsync()).OrderBy(sorting ?? "Id desc") var projects = await (await GetDbSetAsync()).OrderBy(sorting ?? "Id desc")
.PageBy(skipCount, maxResultCount) .PageBy(skipCount, maxResultCount)
.ToListAsync(); .ToListAsync(GetCancellationToken(cancellationToken));
return projects; return projects;
} }
public async Task<Project> GetByShortNameAsync(string shortName) public async Task<Project> GetByShortNameAsync(string shortName, CancellationToken cancellationToken = default)
{ {
var normalizeShortName = NormalizeShortName(shortName); var normalizeShortName = NormalizeShortName(shortName);
var project = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName); var project = await (await GetDbSetAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName, GetCancellationToken(cancellationToken));
if (project == null) if (project == null)
{ {
@ -41,11 +42,11 @@ namespace Volo.Docs.Projects
return project; return project;
} }
public async Task<bool> ShortNameExistsAsync(string shortName) public async Task<bool> ShortNameExistsAsync(string shortName, CancellationToken cancellationToken = default)
{ {
var normalizeShortName = NormalizeShortName(shortName); var normalizeShortName = NormalizeShortName(shortName);
return await (await GetDbSetAsync()).AnyAsync(x => x.ShortName == normalizeShortName); return await (await GetDbSetAsync()).AnyAsync(x => x.ShortName == normalizeShortName, GetCancellationToken(cancellationToken));
} }
private string NormalizeShortName(string shortName) private string NormalizeShortName(string shortName)

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

@ -9,6 +9,7 @@ using Volo.Abp.MongoDB;
using Volo.Docs.MongoDB; using Volo.Docs.MongoDB;
using System.Linq; using System.Linq;
using System.Linq.Dynamic.Core; using System.Linq.Dynamic.Core;
using System.Threading;
namespace Volo.Docs.Projects namespace Volo.Docs.Projects
{ {
@ -19,20 +20,20 @@ namespace Volo.Docs.Projects
{ {
} }
public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount) public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount, CancellationToken cancellationToken = default)
{ {
var projects = await (await GetMongoQueryableAsync()).OrderBy(sorting ?? "Id desc").As<IMongoQueryable<Project>>() var projects = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).OrderBy(sorting ?? "Id desc").As<IMongoQueryable<Project>>()
.PageBy<Project, IMongoQueryable<Project>>(skipCount, maxResultCount) .PageBy<Project, IMongoQueryable<Project>>(skipCount, maxResultCount)
.ToListAsync(); .ToListAsync(GetCancellationToken(cancellationToken));
return projects; return projects;
} }
public async Task<Project> GetByShortNameAsync(string shortName) public async Task<Project> GetByShortNameAsync(string shortName, CancellationToken cancellationToken = default)
{ {
var normalizeShortName = NormalizeShortName(shortName); var normalizeShortName = NormalizeShortName(shortName);
var project = await (await GetMongoQueryableAsync()).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName); var project = await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).FirstOrDefaultAsync(p => p.ShortName == normalizeShortName, GetCancellationToken(cancellationToken));
if (project == null) if (project == null)
{ {
@ -42,11 +43,11 @@ namespace Volo.Docs.Projects
return project; return project;
} }
public async Task<bool> ShortNameExistsAsync(string shortName) public async Task<bool> ShortNameExistsAsync(string shortName, CancellationToken cancellationToken = default)
{ {
var normalizeShortName = NormalizeShortName(shortName); var normalizeShortName = NormalizeShortName(shortName);
return await (await GetMongoQueryableAsync()).AnyAsync(x => x.ShortName == normalizeShortName); return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken))).AnyAsync(x => x.ShortName == normalizeShortName, GetCancellationToken(cancellationToken));
} }
private string NormalizeShortName(string shortName) private string NormalizeShortName(string shortName)

Loading…
Cancel
Save