Browse Source

Add CancellationToken optional parameter to the setting-management module repository methods

pull/7359/head
liangshiwei 6 years ago
parent
commit
07c4d157e8
  1. 18
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/ISettingRepository.cs
  2. 29
      modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/EfCoreSettingRepository.cs
  3. 36
      modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs

18
modules/setting-management/src/Volo.Abp.SettingManagement.Domain/Volo/Abp/SettingManagement/ISettingRepository.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,21 @@ namespace Volo.Abp.SettingManagement
{ {
public interface ISettingRepository : IBasicRepository<Setting, Guid> public interface ISettingRepository : IBasicRepository<Setting, Guid>
{ {
Task<Setting> FindAsync(string name, string providerName, string providerKey); Task<Setting> FindAsync(
string name,
string providerName,
string providerKey,
CancellationToken cancellationToken = default);
Task<List<Setting>> GetListAsync(string providerName, string providerKey); Task<List<Setting>> GetListAsync(
string providerName,
string providerKey,
CancellationToken cancellationToken = default);
Task<List<Setting>> GetListAsync(string[] names, string providerName, string providerKey); Task<List<Setting>> GetListAsync(
string[] names,
string providerName,
string providerKey,
CancellationToken cancellationToken = default);
} }
} }

29
modules/setting-management/src/Volo.Abp.SettingManagement.EntityFrameworkCore/Volo/Abp/SettingManagement/EntityFrameworkCore/EfCoreSettingRepository.cs

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
@ -8,36 +9,48 @@ using Volo.Abp.EntityFrameworkCore;
namespace Volo.Abp.SettingManagement.EntityFrameworkCore namespace Volo.Abp.SettingManagement.EntityFrameworkCore
{ {
public class EfCoreSettingRepository : EfCoreRepository<ISettingManagementDbContext, Setting, Guid>, ISettingRepository public class EfCoreSettingRepository : EfCoreRepository<ISettingManagementDbContext, Setting, Guid>,
ISettingRepository
{ {
public EfCoreSettingRepository(IDbContextProvider<ISettingManagementDbContext> dbContextProvider) public EfCoreSettingRepository(IDbContextProvider<ISettingManagementDbContext> dbContextProvider)
: base(dbContextProvider) : base(dbContextProvider)
{ {
} }
public virtual async Task<Setting> FindAsync(string name, string providerName, string providerKey) public virtual async Task<Setting> FindAsync(
string name,
string providerName,
string providerKey,
CancellationToken cancellationToken = default)
{ {
return await (await GetDbSetAsync()) return await (await GetDbSetAsync())
.OrderBy(x => x.Id) .OrderBy(x => x.Id)
.FirstOrDefaultAsync( .FirstOrDefaultAsync(
s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey,
); GetCancellationToken(cancellationToken));
} }
public virtual async Task<List<Setting>> GetListAsync(string providerName, string providerKey) public virtual async Task<List<Setting>> GetListAsync(
string providerName,
string providerKey,
CancellationToken cancellationToken = default)
{ {
return await (await GetDbSetAsync()) return await (await GetDbSetAsync())
.Where( .Where(
s => s.ProviderName == providerName && s.ProviderKey == providerKey s => s.ProviderName == providerName && s.ProviderKey == providerKey
).ToListAsync(); ).ToListAsync(GetCancellationToken(cancellationToken));
} }
public virtual async Task<List<Setting>> GetListAsync(string[] names, string providerName, string providerKey) public virtual async Task<List<Setting>> GetListAsync(
string[] names,
string providerName,
string providerKey,
CancellationToken cancellationToken = default)
{ {
return await (await GetDbSetAsync()) return await (await GetDbSetAsync())
.Where( .Where(
s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey
).ToListAsync(); ).ToListAsync(GetCancellationToken(cancellationToken));
} }
} }
} }

36
modules/setting-management/src/Volo.Abp.SettingManagement.MongoDB/Volo/Abp/SettingManagement/MongoDB/MongoSettingRepository.cs

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using MongoDB.Driver; using MongoDB.Driver;
using MongoDB.Driver.Linq; using MongoDB.Driver.Linq;
@ -9,33 +10,46 @@ using Volo.Abp.MongoDB;
namespace Volo.Abp.SettingManagement.MongoDB namespace Volo.Abp.SettingManagement.MongoDB
{ {
public class MongoSettingRepository : MongoDbRepository<ISettingManagementMongoDbContext, Setting, Guid>, ISettingRepository public class MongoSettingRepository : MongoDbRepository<ISettingManagementMongoDbContext, Setting, Guid>,
ISettingRepository
{ {
public MongoSettingRepository(IMongoDbContextProvider<ISettingManagementMongoDbContext> dbContextProvider) public MongoSettingRepository(IMongoDbContextProvider<ISettingManagementMongoDbContext> dbContextProvider)
: base(dbContextProvider) : base(dbContextProvider)
{ {
} }
public virtual async Task<Setting> FindAsync(string name, string providerName, string providerKey) public virtual async Task<Setting> FindAsync(
string name,
string providerName,
string providerKey,
CancellationToken cancellationToken = default)
{ {
return await (await GetMongoQueryableAsync()) return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken)))
.OrderBy(x => x.Id) .OrderBy(x => x.Id)
.FirstOrDefaultAsync(s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey); .FirstOrDefaultAsync(
s => s.Name == name && s.ProviderName == providerName && s.ProviderKey == providerKey,
GetCancellationToken(cancellationToken));
} }
public virtual async Task<List<Setting>> GetListAsync(string providerName, string providerKey) public virtual async Task<List<Setting>> GetListAsync(
string providerName,
string providerKey,
CancellationToken cancellationToken = default)
{ {
return await (await GetMongoQueryableAsync()) return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken)))
.Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey) .Where(s => s.ProviderName == providerName && s.ProviderKey == providerKey)
.ToListAsync(); .ToListAsync(GetCancellationToken(cancellationToken));
} }
public virtual async Task<List<Setting>> GetListAsync(string[] names, string providerName, string providerKey) public virtual async Task<List<Setting>> GetListAsync(
string[] names,
string providerName,
string providerKey,
CancellationToken cancellationToken = default)
{ {
return await (await GetMongoQueryableAsync()) return await (await GetMongoQueryableAsync(GetCancellationToken(cancellationToken)))
.Where(s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey) .Where(s => names.Contains(s.Name) && s.ProviderName == providerName && s.ProviderKey == providerKey)
.ToListAsync(); .ToListAsync(GetCancellationToken(cancellationToken));
} }
} }
} }

Loading…
Cancel
Save