Browse Source

Merge branch 'rel-3.2' into rel-3.3

pull/6278/head
Halil İbrahim Kalkan 6 years ago
parent
commit
bf24ca6db5
  1. 32
      docs/en/Data-Seeding.md
  2. 32
      docs/zh-Hans/Data-Seeding.md
  3. 25
      modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs
  4. 15
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs
  5. 15
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/IdentityServer/IdentityServerDataSeedContributor.cs
  6. 14
      templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyProjectNameDataSeedContributor.cs

32
docs/en/Data-Seeding.md

@ -38,31 +38,37 @@ namespace Acme.BookStore
{ {
private readonly IRepository<Book, Guid> _bookRepository; private readonly IRepository<Book, Guid> _bookRepository;
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly ICurrentTenant _currentTenant;
public BookStoreDataSeedContributor( public BookStoreDataSeedContributor(
IRepository<Book, Guid> bookRepository, IRepository<Book, Guid> bookRepository,
IGuidGenerator guidGenerator) IGuidGenerator guidGenerator,
ICurrentTenant currentTenant)
{ {
_bookRepository = bookRepository; _bookRepository = bookRepository;
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_currentTenant = currentTenant;
} }
public async Task SeedAsync(DataSeedContext context) public async Task SeedAsync(DataSeedContext context)
{ {
if (await _bookRepository.GetCountAsync() > 0) using (_currentTenant.Change(context?.TenantId))
{ {
return; if (await _bookRepository.GetCountAsync() > 0)
{
return;
}
var book = new Book(
id: _guidGenerator.Create(),
name: "The Hitchhiker's Guide to the Galaxy",
type: BookType.ScienceFiction,
publishDate: new DateTime(1979, 10, 12),
price: 42
);
await _bookRepository.InsertAsync(book);
} }
var book = new Book(
id: _guidGenerator.Create(),
name: "The Hitchhiker's Guide to the Galaxy",
type: BookType.ScienceFiction,
publishDate: new DateTime(1979, 10, 12),
price: 42
);
await _bookRepository.InsertAsync(book);
} }
} }
} }

32
docs/zh-Hans/Data-Seeding.md

@ -38,31 +38,37 @@ namespace Acme.BookStore
{ {
private readonly IRepository<Book, Guid> _bookRepository; private readonly IRepository<Book, Guid> _bookRepository;
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly ICurrentTenant _currentTenant;
public BookStoreDataSeedContributor( public BookStoreDataSeedContributor(
IRepository<Book, Guid> bookRepository, IRepository<Book, Guid> bookRepository,
IGuidGenerator guidGenerator) IGuidGenerator guidGenerator,
ICurrentTenant currentTenant)
{ {
_bookRepository = bookRepository; _bookRepository = bookRepository;
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_currentTenant = currentTenant;
} }
public async Task SeedAsync(DataSeedContext context) public async Task SeedAsync(DataSeedContext context)
{ {
if (await _bookRepository.GetCountAsync() > 0) using (_currentTenant.Change(context?.TenantId))
{ {
return; if (await _bookRepository.GetCountAsync() > 0)
{
return;
}
var book = new Book(
id: _guidGenerator.Create(),
name: "The Hitchhiker's Guide to the Galaxy",
type: BookType.ScienceFiction,
publishDate: new DateTime(1979, 10, 12),
price: 42
);
await _bookRepository.InsertAsync(book);
} }
var book = new Book(
id: _guidGenerator.Create(),
name: "The Hitchhiker's Guide to the Galaxy",
type: BookType.ScienceFiction,
publishDate: new DateTime(1979, 10, 12),
price: 42
);
await _bookRepository.InsertAsync(book);
} }
} }
} }

25
modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitDataSeedContributor.cs

@ -2,6 +2,7 @@
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Users; using Volo.Abp.Users;
using Volo.CmsKit.Comments; using Volo.CmsKit.Comments;
using Volo.CmsKit.Ratings; using Volo.CmsKit.Ratings;
@ -18,6 +19,7 @@ namespace Volo.CmsKit
private readonly ICommentRepository _commentRepository; private readonly ICommentRepository _commentRepository;
private readonly ReactionManager _reactionManager; private readonly ReactionManager _reactionManager;
private readonly IRatingRepository _ratingRepository; private readonly IRatingRepository _ratingRepository;
private readonly ICurrentTenant _currentTenant;
public CmsKitDataSeedContributor( public CmsKitDataSeedContributor(
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
@ -25,7 +27,8 @@ namespace Volo.CmsKit
CmsKitTestData cmsKitTestData, CmsKitTestData cmsKitTestData,
ICommentRepository commentRepository, ICommentRepository commentRepository,
ReactionManager reactionManager, ReactionManager reactionManager,
IRatingRepository ratingRepository) IRatingRepository ratingRepository,
ICurrentTenant currentTenant)
{ {
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_cmsUserRepository = cmsUserRepository; _cmsUserRepository = cmsUserRepository;
@ -33,17 +36,21 @@ namespace Volo.CmsKit
_commentRepository = commentRepository; _commentRepository = commentRepository;
_reactionManager = reactionManager; _reactionManager = reactionManager;
_ratingRepository = ratingRepository; _ratingRepository = ratingRepository;
_currentTenant = currentTenant;
} }
public async Task SeedAsync(DataSeedContext context) public async Task SeedAsync(DataSeedContext context)
{ {
await SeedUsersAsync(); using (_currentTenant.Change(context?.TenantId))
{
await SeedUsersAsync();
await SeedCommentsAsync(); await SeedCommentsAsync();
await SeedReactionsAsync(); await SeedReactionsAsync();
await SeedRatingsAsync(); await SeedRatingsAsync();
}
} }
private async Task SeedUsersAsync() private async Task SeedUsersAsync()
@ -148,21 +155,21 @@ namespace Volo.CmsKit
4, 4,
_cmsKitTestData.User1Id _cmsKitTestData.User1Id
)); ));
await _ratingRepository.InsertAsync(new Rating(_guidGenerator.Create(), await _ratingRepository.InsertAsync(new Rating(_guidGenerator.Create(),
_cmsKitTestData.EntityType1, _cmsKitTestData.EntityType1,
_cmsKitTestData.EntityId1, _cmsKitTestData.EntityId1,
5, 5,
_cmsKitTestData.User1Id _cmsKitTestData.User1Id
)); ));
await _ratingRepository.InsertAsync(new Rating(_guidGenerator.Create(), await _ratingRepository.InsertAsync(new Rating(_guidGenerator.Create(),
_cmsKitTestData.EntityType2, _cmsKitTestData.EntityType2,
_cmsKitTestData.EntityId2, _cmsKitTestData.EntityId2,
5, 5,
_cmsKitTestData.User2Id _cmsKitTestData.User2Id
)); ));
await _ratingRepository.InsertAsync(new Rating(_guidGenerator.Create(), await _ratingRepository.InsertAsync(new Rating(_guidGenerator.Create(),
_cmsKitTestData.EntityType2, _cmsKitTestData.EntityType2,
_cmsKitTestData.EntityId2, _cmsKitTestData.EntityId2,
@ -171,4 +178,4 @@ namespace Volo.CmsKit
)); ));
} }
} }
} }

15
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs

@ -10,6 +10,7 @@ using Volo.Abp.Guids;
using Volo.Abp.IdentityServer.ApiResources; using Volo.Abp.IdentityServer.ApiResources;
using Volo.Abp.IdentityServer.Clients; using Volo.Abp.IdentityServer.Clients;
using Volo.Abp.IdentityServer.IdentityResources; using Volo.Abp.IdentityServer.IdentityResources;
using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource;
@ -25,6 +26,7 @@ namespace MyCompanyName.MyProjectName.IdentityServer
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly IPermissionDataSeeder _permissionDataSeeder; private readonly IPermissionDataSeeder _permissionDataSeeder;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly ICurrentTenant _currentTenant;
public IdentityServerDataSeedContributor( public IdentityServerDataSeedContributor(
IClientRepository clientRepository, IClientRepository clientRepository,
@ -32,7 +34,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
IIdentityResourceDataSeeder identityResourceDataSeeder, IIdentityResourceDataSeeder identityResourceDataSeeder,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IPermissionDataSeeder permissionDataSeeder, IPermissionDataSeeder permissionDataSeeder,
IConfiguration configuration) IConfiguration configuration,
ICurrentTenant currentTenant)
{ {
_clientRepository = clientRepository; _clientRepository = clientRepository;
_apiResourceRepository = apiResourceRepository; _apiResourceRepository = apiResourceRepository;
@ -40,14 +43,18 @@ namespace MyCompanyName.MyProjectName.IdentityServer
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_permissionDataSeeder = permissionDataSeeder; _permissionDataSeeder = permissionDataSeeder;
_configuration = configuration; _configuration = configuration;
_currentTenant = currentTenant;
} }
[UnitOfWork] [UnitOfWork]
public virtual async Task SeedAsync(DataSeedContext context) public virtual async Task SeedAsync(DataSeedContext context)
{ {
await _identityResourceDataSeeder.CreateStandardResourcesAsync(); using (_currentTenant.Change(context?.TenantId))
await CreateApiResourcesAsync(); {
await CreateClientsAsync(); await _identityResourceDataSeeder.CreateStandardResourcesAsync();
await CreateApiResourcesAsync();
await CreateClientsAsync();
}
} }
private async Task CreateApiResourcesAsync() private async Task CreateApiResourcesAsync()

15
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/IdentityServer/IdentityServerDataSeedContributor.cs

@ -10,6 +10,7 @@ using Volo.Abp.Guids;
using Volo.Abp.IdentityServer.ApiResources; using Volo.Abp.IdentityServer.ApiResources;
using Volo.Abp.IdentityServer.Clients; using Volo.Abp.IdentityServer.Clients;
using Volo.Abp.IdentityServer.IdentityResources; using Volo.Abp.IdentityServer.IdentityResources;
using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource;
@ -25,6 +26,7 @@ namespace MyCompanyName.MyProjectName.IdentityServer
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly IPermissionDataSeeder _permissionDataSeeder; private readonly IPermissionDataSeeder _permissionDataSeeder;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly ICurrentTenant _currentTenant;
public IdentityServerDataSeedContributor( public IdentityServerDataSeedContributor(
IClientRepository clientRepository, IClientRepository clientRepository,
@ -32,7 +34,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
IIdentityResourceDataSeeder identityResourceDataSeeder, IIdentityResourceDataSeeder identityResourceDataSeeder,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IPermissionDataSeeder permissionDataSeeder, IPermissionDataSeeder permissionDataSeeder,
IConfiguration configuration) IConfiguration configuration,
ICurrentTenant currentTenant)
{ {
_clientRepository = clientRepository; _clientRepository = clientRepository;
_apiResourceRepository = apiResourceRepository; _apiResourceRepository = apiResourceRepository;
@ -40,14 +43,18 @@ namespace MyCompanyName.MyProjectName.IdentityServer
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_permissionDataSeeder = permissionDataSeeder; _permissionDataSeeder = permissionDataSeeder;
_configuration = configuration; _configuration = configuration;
_currentTenant = currentTenant;
} }
[UnitOfWork] [UnitOfWork]
public virtual async Task SeedAsync(DataSeedContext context) public virtual async Task SeedAsync(DataSeedContext context)
{ {
await _identityResourceDataSeeder.CreateStandardResourcesAsync(); using (_currentTenant.Change(context?.TenantId))
await CreateApiResourcesAsync(); {
await CreateClientsAsync(); await _identityResourceDataSeeder.CreateStandardResourcesAsync();
await CreateApiResourcesAsync();
await CreateClientsAsync();
}
} }
private async Task CreateApiResourcesAsync() private async Task CreateApiResourcesAsync()

14
templates/module/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyProjectNameDataSeedContributor.cs

@ -2,26 +2,32 @@
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.MultiTenancy;
namespace MyCompanyName.MyProjectName namespace MyCompanyName.MyProjectName
{ {
public class MyProjectNameDataSeedContributor : IDataSeedContributor, ITransientDependency public class MyProjectNameDataSeedContributor : IDataSeedContributor, ITransientDependency
{ {
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly ICurrentTenant _currentTenant;
public MyProjectNameDataSeedContributor( public MyProjectNameDataSeedContributor(
IGuidGenerator guidGenerator) IGuidGenerator guidGenerator, ICurrentTenant currentTenant)
{ {
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_currentTenant = currentTenant;
} }
public Task SeedAsync(DataSeedContext context) public Task SeedAsync(DataSeedContext context)
{ {
/* Instead of returning the Task.CompletedTask, you can insert your test data /* Instead of returning the Task.CompletedTask, you can insert your test data
* at this point! * at this point!
*/ */
return Task.CompletedTask; using (_currentTenant.Change(context?.TenantId))
{
return Task.CompletedTask;
}
} }
} }
} }

Loading…
Cancel
Save