Browse Source

Update BookStore-Angular-MongoDb.

pull/1863/head
maliming 7 years ago
parent
commit
014c939e06
  1. 8
      samples/BookStore-Angular-MongoDb/angular/package.json
  2. 14
      samples/BookStore-Angular-MongoDb/angular/src/app/app.module.ts
  3. 2
      samples/BookStore-Angular-MongoDb/angular/src/app/home/home.component.html
  4. 6
      samples/BookStore-Angular-MongoDb/angular/src/environments/environment.hmr.ts
  5. 6
      samples/BookStore-Angular-MongoDb/angular/src/environments/environment.prod.ts
  6. 6
      samples/BookStore-Angular-MongoDb/angular/src/environments/environment.ts
  7. 26
      samples/BookStore-Angular-MongoDb/aspnet-core/Acme.BookStore.sln.DotSettings
  8. 12
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application.Contracts/Acme.BookStore.Application.Contracts.csproj
  9. 0
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs
  10. 0
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application.Contracts/Permissions/BookStorePermissions.cs
  11. 14
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/Acme.BookStore.Application.csproj
  12. 3
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/BookStoreApplicationAutoMapperProfile.cs
  13. 6
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/BookStoreApplicationModule.cs
  14. 7
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj
  15. 6
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/BookStoreDbMigratorModule.cs
  16. 6
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json
  17. 18
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain.Shared/Acme.BookStore.Domain.Shared.csproj
  18. 22
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain/Acme.BookStore.Domain.csproj
  19. 46
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain/BookStoreDataSeederContributor.cs
  20. 4
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain/IdentityServer/IdentityServerDataSeedContributor.cs
  21. 14
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Client/Acme.BookStore.HttpApi.Client.csproj
  22. 20
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Acme.BookStore.HttpApi.Host.csproj
  23. 21
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/BookStoreHttpApiHostModule.cs
  24. 4
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Controllers/HomeController.cs
  25. 6
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Properties/launchSettings.json
  26. 2
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Startup.cs
  27. 7
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/appsettings.json
  28. 2
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/package.json
  29. 8196
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.js
  30. 1
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.js.map
  31. 1
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.min.js
  32. 1
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.min.js.map
  33. 219
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/yarn.lock
  34. 14
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi/Acme.BookStore.HttpApi.csproj
  35. 20
      samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.MongoDB/Acme.BookStore.MongoDB.csproj
  36. 4
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/Acme.BookStore.Application.Tests.csproj
  37. 72
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/BookAppService_Tests.cs
  38. 4
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Domain.Tests/Acme.BookStore.Domain.Tests.csproj
  39. 6
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.HttpApi.Client.ConsoleTestApp/Acme.BookStore.HttpApi.Client.ConsoleTestApp.csproj
  40. 6
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json
  41. 4
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/Acme.BookStore.MongoDB.Tests.csproj
  42. 2
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs
  43. 10
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj
  44. 43
      samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/BookStoreTestDataSeedContributor.cs

8
samples/BookStore-Angular-MongoDb/angular/package.json

@ -13,10 +13,10 @@
},
"private": true,
"dependencies": {
"@abp/ng.account": "^0.8.3",
"@abp/ng.identity": "^0.8.3",
"@abp/ng.tenant-management": "^0.8.3",
"@abp/ng.theme.basic": "^0.8.3",
"@abp/ng.account": "^0.9.0",
"@abp/ng.identity": "^0.9.0",
"@abp/ng.tenant-management": "^0.9.0",
"@abp/ng.theme.basic": "^0.9.0",
"@angular/animations": "~8.2.2",
"@angular/common": "~8.2.2",
"@angular/compiler": "~8.2.2",

14
samples/BookStore-Angular-MongoDb/angular/src/app/app.module.ts

@ -11,15 +11,14 @@ import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { SharedModule } from './shared/shared.module';
import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { AccountProviders } from '@abp/ng.account';
import { IdentityProviders } from '@abp/ng.identity';
import { TenantManagementProviders } from '@abp/ng.tenant-management';
import { BooksState } from './store/states/books.state';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
BrowserAnimationsModule,
AppRoutingModule,
SharedModule,
ThemeSharedModule.forRoot(),
CoreModule.forRoot({
environment,
@ -28,10 +27,15 @@ import { BooksState } from './store/states/books.state';
},
}),
OAuthModule.forRoot(),
NgxsModule.forRoot([]),
BrowserModule,
BrowserAnimationsModule,
AppRoutingModule,
SharedModule,
NgxsModule.forRoot([BooksState, ]),
NgxsReduxDevtoolsPluginModule.forRoot({ disabled: environment.production }),
],
providers: [],
providers: [...AccountProviders({ redirectUrl: '/' }), ...IdentityProviders(), ...TenantManagementProviders()],
bootstrap: [AppComponent],
})
export class AppModule {}

2
samples/BookStore-Angular-MongoDb/angular/src/app/home/home.component.html

@ -5,7 +5,7 @@
{{ '::LongWelcomeMessage' | abpLocalization }}
</p>
<p *ngIf="!hasLoggedIn">
<a routerLink="/account/login" [state]="{ redirectUrl: '/home' }" class="btn btn-primary" role="button"
<a routerLink="/account/login" [state]="{ redirectUrl: '/' }" class="btn btn-primary" role="button"
><i class="fa fa-sign-in"></i>{{ 'AbpIdentity::Login' | abpLocalization }}</a
>
</p>

6
samples/BookStore-Angular-MongoDb/angular/src/environments/environment.hmr.ts

@ -6,8 +6,8 @@ export const environment = {
logoUrl: '',
},
oAuthConfig: {
issuer: 'https://localhost:44359',
clientId: 'BookStore_ConsoleTestApp',
issuer: 'https://localhost:44341',
clientId: 'BookStore_App',
dummyClientSecret: '1q2w3e*',
scope: 'BookStore',
showDebugInformation: true,
@ -16,7 +16,7 @@ export const environment = {
},
apis: {
default: {
url: 'https://localhost:44359',
url: 'https://localhost:44341',
},
},
localization: {

6
samples/BookStore-Angular-MongoDb/angular/src/environments/environment.prod.ts

@ -6,8 +6,8 @@ export const environment = {
logoUrl: '',
},
oAuthConfig: {
issuer: 'https://localhost:44359',
clientId: 'BookStore_ConsoleTestApp',
issuer: 'https://localhost:44341',
clientId: 'BookStore_App',
dummyClientSecret: '1q2w3e*',
scope: 'BookStore',
showDebugInformation: true,
@ -16,7 +16,7 @@ export const environment = {
},
apis: {
default: {
url: 'https://localhost:44359',
url: 'https://localhost:44341',
},
},
localization: {

6
samples/BookStore-Angular-MongoDb/angular/src/environments/environment.ts

@ -6,8 +6,8 @@ export const environment = {
logoUrl: '',
},
oAuthConfig: {
issuer: 'https://localhost:44359',
clientId: 'BookStore_ConsoleTestApp',
issuer: 'https://localhost:44341',
clientId: 'BookStore_App',
dummyClientSecret: '1q2w3e*',
scope: 'BookStore',
showDebugInformation: true,
@ -16,7 +16,7 @@ export const environment = {
},
apis: {
default: {
url: 'https://localhost:44359',
url: 'https://localhost:44341',
},
},
localization: {

26
samples/BookStore-Angular-MongoDb/aspnet-core/Acme.BookStore.sln.DotSettings

@ -1,7 +1,23 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=59923913AE66194DB837F628B1FC08BE/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=59923913AE66194DB837F628B1FC08BE/AbsolutePath/@EntryValue">D:\github\abp\common.DotSettings</s:String>
<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=59923913AE66194DB837F628B1FC08BE/RelativePath/@EntryValue">..\..\..\common.DotSettings</s:String>
<s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File59923913AE66194DB837F628B1FC08BE/@KeyIndexDefined">True</s:Boolean>
<s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File59923913AE66194DB837F628B1FC08BE/RelativePriority/@EntryValue">1</s:Double>
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/IntelliSenseCompletingCharacters/CSharpCompletingCharacters/UpgradedFromVSSettings/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceDoWhileStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceFixedStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceForeachStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceForStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceIfStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceLockStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceUsingStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceWhileStatementBraces/@EntryIndexedValue">WARNING</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_FOR/@EntryValue">Required</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_FOREACH/@EntryValue">Required</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_IFELSE/@EntryValue">Required</s:String>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_WHILE/@EntryValue">Required</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_REDUNDANT/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/Generate/=Implementations/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=Async/@EntryIndexedValue">False</s:String>
<s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=Mutable/@EntryIndexedValue">False</s:String>
<s:Boolean x:Key="/Default/CodeStyle/Generate/=Overrides/@KeyIndexDefined">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Generate/=Overrides/Options/=Async/@EntryIndexedValue">False</s:String>
<s:String x:Key="/Default/CodeStyle/Generate/=Overrides/Options/=Mutable/@EntryIndexedValue">False</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SQL/@EntryIndexedValue">SQL</s:String>
</wpf:ResourceDictionary>

12
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application.Contracts/Acme.BookStore.Application.Contracts.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@ -12,11 +12,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\modules\account\src\Volo.Abp.Account.Application.Contracts\Volo.Abp.Account.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.Application.Contracts\Volo.Abp.Identity.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\permission-management\src\Volo.Abp.PermissionManagement.Application.Contracts\Volo.Abp.PermissionManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.Application.Contracts\Volo.Abp.TenantManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.Application.Contracts\Volo.Abp.FeatureManagement.Application.Contracts.csproj" />
<PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Application.Contracts" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application.Contracts" Version="0.21.0" />
</ItemGroup>
</Project>

0
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/Permissions/BookStorePermissionDefinitionProvider.cs → samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs

0
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/Permissions/BookStorePermissions.cs → samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application.Contracts/Permissions/BookStorePermissions.cs

14
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/Acme.BookStore.Application.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>
@ -13,11 +13,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\modules\account\src\Volo.Abp.Account.Application\Volo.Abp.Account.Application.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.Application\Volo.Abp.Identity.Application.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\permission-management\src\Volo.Abp.PermissionManagement.Application\Volo.Abp.PermissionManagement.Application.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.Application\Volo.Abp.TenantManagement.Application.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.Application\Volo.Abp.FeatureManagement.Application.csproj" />
<PackageReference Include="Volo.Abp.Account.Application" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Identity.Application" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="0.21.0" />
</ItemGroup>
</Project>

3
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/BookStoreApplicationAutoMapperProfile.cs

@ -6,6 +6,9 @@ namespace Acme.BookStore
{
public BookStoreApplicationAutoMapperProfile()
{
/* You can configure your AutoMapper mapping configuration here.
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
CreateMap<Book, BookDto>();
CreateMap<CreateUpdateBookDto, Book>();
}

6
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Application/BookStoreApplicationModule.cs

@ -23,11 +23,7 @@ namespace Acme.BookStore
{
Configure<AbpAutoMapperOptions>(options =>
{
/* Use `true` for the `validate` parameter if you want to
* validate the profile on application startup.
* See http://docs.automapper.org/en/stable/Configuration-validation.html for more info
* about the configuration validation. */
options.AddProfile<BookStoreApplicationAutoMapperProfile>();
options.AddMaps<BookStoreApplicationModule>();
});
}
}

7
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj

@ -1,10 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
@ -22,10 +22,11 @@
<PackageReference Include="Serilog.Extensions.Logging" Version="2.0.4" />
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<PackageReference Include="Volo.Abp.Autofac" Version="0.21.0" />
<ProjectReference Include="..\Acme.BookStore.Application.Contracts\Acme.BookStore.Application.Contracts.csproj" />
<ProjectReference Include="..\Acme.BookStore.MongoDB\Acme.BookStore.MongoDB.csproj" />
</ItemGroup>

6
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/BookStoreDbMigratorModule.cs

@ -1,5 +1,6 @@
using Acme.BookStore.MongoDB;
using Volo.Abp.Autofac;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Modularity;
namespace Acme.BookStore.DbMigrator
@ -11,6 +12,9 @@ namespace Acme.BookStore.DbMigrator
)]
public class BookStoreDbMigratorModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<BackgroundJobOptions>(options => options.IsJobExecutionEnabled = false);
}
}
}

6
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/appsettings.json

@ -7,10 +7,10 @@
"BookStore_Web": {
"ClientId": "BookStore_Web",
"ClientSecret": "1q2w3e*",
"RootUrl": "https://localhost:44335"
"RootUrl": "https://localhost:44357"
},
"BookStore_ConsoleTestApp": {
"ClientId": "BookStore_ConsoleTestApp",
"BookStore_App": {
"ClientId": "BookStore_App",
"ClientSecret": "1q2w3e*"
}
}

18
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain.Shared/Acme.BookStore.Domain.Shared.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@ -8,14 +8,14 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identityserver\src\Volo.Abp.IdentityServer.Domain.Shared\Volo.Abp.IdentityServer.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\background-jobs\src\Volo.Abp.BackgroundJobs.Domain.Shared\Volo.Abp.BackgroundJobs.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\audit-logging\src\Volo.Abp.AuditLogging.Domain.Shared\Volo.Abp.AuditLogging.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.Domain.Shared\Volo.Abp.TenantManagement.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.Domain.Shared\Volo.Abp.FeatureManagement.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain.Shared\Volo.Abp.PermissionManagement.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\setting-management\src\Volo.Abp.SettingManagement.Domain.Shared\Volo.Abp.SettingManagement.Domain.Shared.csproj" />
<PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.IdentityServer.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Shared" Version="0.21.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain.Shared" Version="0.21.0" />
</ItemGroup>
<ItemGroup>

22
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain/Acme.BookStore.Domain.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>
@ -13,15 +13,15 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Version="2.2.0" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.PermissionManagement.Domain.Identity\Volo.Abp.PermissionManagement.Domain.Identity.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identityserver\src\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identityserver\src\Volo.Abp.PermissionManagement.Domain.IdentityServer\Volo.Abp.PermissionManagement.Domain.IdentityServer.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\background-jobs\src\Volo.Abp.BackgroundJobs.Domain\Volo.Abp.BackgroundJobs.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\audit-logging\src\Volo.Abp.AuditLogging.Domain\Volo.Abp.AuditLogging.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.Domain\Volo.Abp.TenantManagement.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.Domain\Volo.Abp.FeatureManagement.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\setting-management\src\Volo.Abp.SettingManagement.Domain\Volo.Abp.SettingManagement.Domain.csproj" />
<PackageReference Include="Volo.Abp.Identity.Domain" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="0.21.0" />
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer" Version="0.21.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Domain" Version="0.21.0" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Domain" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain" Version="0.21.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="0.21.0" />
</ItemGroup>
</Project>

46
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain/BookStoreDataSeederContributor.cs

@ -1,46 +0,0 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
namespace Acme.BookStore
{
public class BookStoreDataSeederContributor : IDataSeedContributor, ITransientDependency
{
private readonly IRepository<Book, Guid> _bookRepository;
public BookStoreDataSeederContributor(IRepository<Book, Guid> bookRepository)
{
_bookRepository = bookRepository;
}
public async Task SeedAsync(DataSeedContext context)
{
if (await _bookRepository.GetCountAsync() > 0)
{
return;
}
await _bookRepository.InsertAsync(
new Book
{
Name = "1984",
Type = BookType.Dystopia,
PublishDate = new DateTime(1949, 6, 8),
Price = 19.84f
}
);
await _bookRepository.InsertAsync(
new Book
{
Name = "The Hitchhiker's Guide to the Galaxy",
Type = BookType.ScienceFiction,
PublishDate = new DateTime(1995, 9, 27),
Price = 42.0f
}
);
}
}
}

4
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.Domain/IdentityServer/IdentityServerDataSeedContributor.cs

@ -126,14 +126,14 @@ namespace Acme.BookStore.IdentityServer
}
//Console Test Client
var consoleClientId = configurationSection["BookStore_ConsoleTestApp:ClientId"];
var consoleClientId = configurationSection["BookStore_App:ClientId"];
if (!consoleClientId.IsNullOrWhiteSpace())
{
await CreateClientAsync(
consoleClientId,
commonScopes,
new[] { "password", "client_credentials" },
(configurationSection["BookStore_ConsoleTestApp:ClientSecret"] ?? "1q2w3e*").Sha256()
(configurationSection["BookStore_App:ClientSecret"] ?? "1q2w3e*").Sha256()
);
}
}

14
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Client/Acme.BookStore.HttpApi.Client.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>
@ -12,11 +12,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\modules\account\src\Volo.Abp.Account.HttpApi.Client\Volo.Abp.Account.HttpApi.Client.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.HttpApi.Client\Volo.Abp.Identity.HttpApi.Client.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\permission-management\src\Volo.Abp.PermissionManagement.HttpApi.Client\Volo.Abp.PermissionManagement.HttpApi.Client.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.HttpApi.Client\Volo.Abp.TenantManagement.HttpApi.Client.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.HttpApi.Client\Volo.Abp.FeatureManagement.HttpApi.Client.csproj" />
<PackageReference Include="Volo.Abp.Account.HttpApi.Client" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi.Client" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.HttpApi.Client" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi.Client" Version="0.21.0" />
</ItemGroup>
</Project>

20
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Acme.BookStore.HttpApi.Host.csproj

@ -1,26 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<RootNamespace>Acme.BookStore</RootNamespace>
<PreserveCompilationReferences>true</PreserveCompilationReferences>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Serilog.AspNetCore" Version="2.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="1.4.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.7.0" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.MultiTenancy\Volo.Abp.AspNetCore.MultiTenancy.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.AspNetCore.Authentication.JwtBearer\Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\account\src\Volo.Abp.Account.Web.IdentityServer\Volo.Abp.Account.Web.IdentityServer.csproj" />
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0" />
<PackageReference Include="Volo.Abp.AspNetCore.MultiTenancy" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Autofac" Version="0.21.0" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic" Version="0.21.0" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="0.21.0" />
</ItemGroup>
<ItemGroup>

21
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/BookStoreHttpApiHostModule.cs

@ -2,11 +2,13 @@
using System.IO;
using System.Linq;
using System.Net.Http;
using Acme.BookStore.MongoDB;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Acme.BookStore.MongoDB;
using Acme.BookStore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic;
using Swashbuckle.AspNetCore.Swagger;
@ -45,10 +47,12 @@ namespace Acme.BookStore
ConfigureUrls(configuration);
ConfigureConventionalControllers();
ConfigureAuthentication(context, configuration);
ConfigureSwagger(context);
ConfigureLocalization();
ConfigureVirtualFileSystem(context);
ConfigureCors(context, configuration);
//Disabled swagger since it does not support ASP.NET Core 3.0 yet!
//ConfigureSwaggerServices(context);
}
private void ConfigureUrls(IConfigurationRoot configuration)
@ -98,7 +102,7 @@ namespace Acme.BookStore
});
}
private static void ConfigureSwagger(ServiceConfigurationContext context)
private static void ConfigureSwaggerServices(ServiceConfigurationContext context)
{
context.Services.AddSwaggerGen(
options =>
@ -133,6 +137,7 @@ namespace Acme.BookStore
.Select(o => o.RemovePostFix("/"))
.ToArray()
)
.WithAbpExposedHeaders()
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyHeader()
.AllowAnyMethod()
@ -145,10 +150,12 @@ namespace Acme.BookStore
{
var app = context.GetApplicationBuilder();
app.UseCors(DefaultCorsPolicyName);
app.UseCorrelationId();
app.UseVirtualFiles();
app.UseRouting();
app.UseCors(DefaultCorsPolicyName);
app.UseAuthentication();
app.UseAuthorization();
app.UseJwtTokenMiddleware();
if (MultiTenancyConsts.IsEnabled)
@ -158,11 +165,15 @@ namespace Acme.BookStore
app.UseIdentityServer();
app.UseAbpRequestLocalization();
/* Disabled swagger since it does not support ASP.NET Core 3.0 yet!
app.UseSwagger();
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "BookStore API");
});
*/
app.UseAuditing();
app.UseMvcWithDefaultRouteAndArea();
}

4
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Controllers/HomeController.cs

@ -7,7 +7,9 @@ namespace Acme.BookStore.Controllers
{
public ActionResult Index()
{
return Redirect("/swagger");
//TODO: Enabled once Swagger supports ASP.NET Core 3.x
//return Redirect("/swagger");
return Content("OK: Acme.BookStore.HttpApi.Host is running...");
}
}
}

6
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Properties/launchSettings.json

@ -3,8 +3,8 @@
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "https://localhost:44359",
"sslPort": 44359
"applicationUrl": "https://localhost:44341",
"sslPort": 44341
}
},
"profiles": {
@ -18,7 +18,7 @@
"Acme.BookStore.HttpApi.Host": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:44359",
"applicationUrl": "https://localhost:44341",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}

2
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Startup.cs

@ -19,7 +19,7 @@ namespace Acme.BookStore
return services.BuildServiceProviderFromFactory();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
app.InitializeApplication();
}

7
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/appsettings.json

@ -1,15 +1,12 @@
{
"App": {
"SelfUrl": "https://localhost:44359",
"SelfUrl": "https://localhost:44341",
"CorsOrigins": "https://*.BookStore.com,http://localhost:4200"
},
"ConnectionStrings": {
"Default": "mongodb://localhost:27017/BookStore"
},
"Redis": {
"Configuration": "127.0.0.1"
},
"AuthServer": {
"Authority": "https://localhost:44359"
"Authority": "https://localhost:44341"
}
}

2
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/package.json

@ -3,6 +3,6 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^0.8.0"
"@abp/aspnetcore.mvc.ui.theme.basic": "^0.9.0"
}
}

8196
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.js

File diff suppressed because it is too large

1
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.js.map

File diff suppressed because one or more lines are too long

1
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.min.js

File diff suppressed because one or more lines are too long

1
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/wwwroot/libs/luxon/luxon.min.js.map

File diff suppressed because one or more lines are too long

219
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/yarn.lock

@ -2,35 +2,36 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.8.0.tgz#8b6b5fdcee9d0a61b2e6d602158c814eac808ef9"
integrity sha512-TLP5iCXnxfL7IECBHiJFTpvlgVEuzb9wm0vvxAGFZYiu5IkxeZxVMreQHiXOwJdRFGtyJtM6T5+va4LqNQtfCw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "^0.8.0"
"@abp/aspnetcore.mvc.ui.theme.shared@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.8.0.tgz#3892843e1519aa8e9bf56bd08d69a7114de20b56"
integrity sha512-s63rg2nmjbJn5oBrPwt0VBw0V8LQsS4kpup7b7jW8f6Fw1k07w6i4XVG0JZCZPx3HTCZbHc+Nu3fBTUhZfokaA==
dependencies:
"@abp/aspnetcore.mvc.ui" "^0.8.0"
"@abp/bootstrap" "^0.8.0"
"@abp/datatables.net-bs4" "^0.8.0"
"@abp/font-awesome" "^0.8.0"
"@abp/jquery-form" "^0.8.0"
"@abp/jquery-validation-unobtrusive" "^0.8.0"
"@abp/lodash" "^0.8.0"
"@abp/malihu-custom-scrollbar-plugin" "^0.8.0"
"@abp/select2" "^0.8.0"
"@abp/sweetalert" "^0.8.0"
"@abp/timeago" "^0.8.0"
"@abp/toastr" "^0.8.0"
"@abp/aspnetcore.mvc.ui@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.8.0.tgz#bb5234696771a900caa91a22033d017ceecd7df5"
integrity sha512-3wokY7KSjoft9O4UnysHZ5756YPTYdKMogxWddzJXCZXK8jJfx0hbAwV0sK+3Q0f4DGOzIzRoxE0UH6Dk2a9pw==
"@abp/aspnetcore.mvc.ui.theme.basic@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-0.9.0.tgz#7f68998a082c1b0972a101d9d4f7e15d0a86599c"
integrity sha512-5SW+Y5zIzjsy5SweBo9+C4ZX1xnJSLSmPhQW6Qup3Sfy7A+862ZcJj5IrSgH6Vxc36pNdBz4WyHj/gXQDuZ70Q==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "^0.9.0"
"@abp/aspnetcore.mvc.ui.theme.shared@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-0.9.0.tgz#8bce8ad565ddba9768ddae121ea0c04111485e53"
integrity sha512-mgf3fqKi/ksdWZEPeM9uUluc48MM7V+9BwR9P3bCwih0P9+6aWJq6gq/BsnZrNAe9qKd11smjFku22OC1/c/tg==
dependencies:
"@abp/aspnetcore.mvc.ui" "^0.9.0"
"@abp/bootstrap" "^0.9.0"
"@abp/datatables.net-bs4" "^0.9.0"
"@abp/font-awesome" "^0.9.0"
"@abp/jquery-form" "^0.9.0"
"@abp/jquery-validation-unobtrusive" "^0.9.0"
"@abp/lodash" "^0.9.0"
"@abp/luxon" "^0.9.0"
"@abp/malihu-custom-scrollbar-plugin" "^0.9.0"
"@abp/select2" "^0.9.0"
"@abp/sweetalert" "^0.9.0"
"@abp/timeago" "^0.9.0"
"@abp/toastr" "^0.9.0"
"@abp/aspnetcore.mvc.ui@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-0.9.0.tgz#85a7745a59dd10164aa3862cc0e0d2839bab1dc7"
integrity sha512-DlcjrMk5dLRC6NJpITNO3XiqsbSPNwkSkqq8aqGYC5iN+tq9wzRgf1b8rz4sJsOeBZxaHH2U4L4SXSufsy7weg==
dependencies:
ansi-colors "^3.2.4"
extend-object "^1.0.0"
@ -39,121 +40,128 @@
path "^0.12.7"
rimraf "^2.6.3"
"@abp/bootstrap@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.8.0.tgz#ef5b076a892c47ebf00a13420b819a5f627b0beb"
integrity sha512-ZUu+4pbX1ky1Ub41d68VKAa1M/dy+u5RtEAvv2aqECsGu9LUZTxG5hc9adU59ZdnhPjARe2AeG9LA7Pf4KOAVA==
"@abp/bootstrap@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-0.9.0.tgz#6ff1df5b34197996938c08b06288dc7f6a161aa3"
integrity sha512-0aHTrJSKXqI0+V7V8+t3M6wG0L1E5Zq+UzJAzd79FXlXF9MoaNbMPpPrnnya4p+d0cZQsZm3lnWx0LwVXj2AVA==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
bootstrap "^4.1.1"
"@abp/core@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.8.0.tgz#e7504cc14acc3a44bee2a414717a43c234600a14"
integrity sha512-hAY1HzZ+NkpmeutVrSajA1jBLoyaNonncO+qa6J463v2UJ/a7+WYGIfllsAIhaUDNqHhFtED2LJHQNEG9gpCfA==
"@abp/core@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-0.9.0.tgz#ef15f932bbc8d2b6345be9fe0c762810cf33c306"
integrity sha512-/Lg36ud9B6muLDjbaigCiMP9K+FgVCdERPuq+6We1k5xpPuVj+/cIJZQHlgSY25VIciOLMLbJg2lAOyuHSXbAA==
"@abp/datatables.net-bs4@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.8.0.tgz#acc42026a49948405792fcea2bcece002fe13e38"
integrity sha512-jqWxpbzfaq9VL+xb8qNMYJc0odAwZCbybHbN4kTPN4vIasL4Yhiotsxv6EC7T6YR9FxbAXnHpdmKBUogO3TGrw==
"@abp/datatables.net-bs4@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-0.9.0.tgz#30adb5e3afbf0cc58eec3ee52fdbd62cf2a1cce1"
integrity sha512-dD7ELc30bQeZdPFmTfZ/EUtmL6o4iY+1Ew17vdvkUxX3x+j7jmiaH2BJahKrtUTKtc4zCnv38dKt4ZwichsrBg==
dependencies:
"@abp/datatables.net" "^0.8.0"
"@abp/datatables.net" "^0.9.0"
datatables.net-bs4 "^1.10.16"
"@abp/datatables.net@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.8.0.tgz#0a596cbf810a224eeae9189442d0e993eaf4c18a"
integrity sha512-u2o6ZYzJ5kDi7t3ONhbwe14qNSVUj/5egIy645Ab8tDN7wEOt3eS7M3kledCEFmCcdmH2Ls9lxeHK5KMaizzzA==
"@abp/datatables.net@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-0.9.0.tgz#bcfa60fda70c1184e19fdde15d6e6aea706f9e0a"
integrity sha512-hYvGrG9PCfEO0D7jD/a7XbE/HOBCV2PQBSMakut81cx5piB0Gz4Zhw7I90ZHJ4r4CEqCM8u8A/xyaBFkQEqsbw==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
datatables.net "^1.10.16"
"@abp/font-awesome@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.8.0.tgz#9325be9f6c7c1258c71b8706a0aea4f8436c67d1"
integrity sha512-R9NGupEjpMFaQ7EOumMwZd5+DgO+UIZ9KgvLU8q+SYTSQ/aSpYUX85BuUpaCWihKpOmucRHDBY4Jy8X/hBtLgQ==
"@abp/font-awesome@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-0.9.0.tgz#577196f787d3069216e8c7ed81fe1826b0036e79"
integrity sha512-6IAI7I7AMP3ubfTvjy4MKZUGIAYTzEDJq59UrLWuLrmpzwmdU/XRI3ItWg6hFbqkzkDiQh+qc5Eu9Oy15oi4JQ==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
font-awesome "^4.7.0"
"@abp/jquery-form@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.8.0.tgz#9408a9fb7b240d21163fe3ccad703701fe22f40c"
integrity sha512-krUQkEV0HbrjsPmKB6qivVGJvB69SfyGE0t4hRrrOPh2NpSPeeQvVHlm9uTuzJyQ57/JPYuGINe2M8/bVbHdNA==
"@abp/jquery-form@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-0.9.0.tgz#351723fdfb0f0f84bad98a456eff209b556bca4c"
integrity sha512-aTx84JamYJnqQmNRLVN6PVQgZbFE+dS9jSQMHOs/zxJb/FU0Ko7sen0JQPgQ3SXuBYLHvqZgn9AFNg58nD9Kuw==
dependencies:
"@abp/jquery" "^0.8.0"
"@abp/jquery" "^0.9.0"
jquery-form "^4.2.2"
"@abp/jquery-validation-unobtrusive@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.8.0.tgz#369c9e995b6da6ef76519ce1f3ed41dc2f4e2bac"
integrity sha512-qkEXYe6kiI3UECK1vfiR+8zrdrr3bzhbdttP6F+DdstncPEe593B976H/jcXYruAXYAPIgP8sM5CTWoL0HrF2Q==
"@abp/jquery-validation-unobtrusive@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-0.9.0.tgz#731e2a74c2d551f395b3cb3dd18389843ac24735"
integrity sha512-dPBwdUu2ih0OKt3H7DciyLX2/+Db4HzsMejtzKQqpDhTQTccxGqOi0KDCj08Ak/JlEYgQI6pN1Vo9v7crBd29A==
dependencies:
"@abp/jquery-validation" "^0.8.0"
"@abp/jquery-validation" "^0.9.0"
jquery-validation-unobtrusive "^3.2.9"
"@abp/jquery-validation@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.8.0.tgz#c9fccfa8afd7b2bc2c455c131fd95338c2954c60"
integrity sha512-9ug0UTTfPdjOKlbUImzTP30SPY+IXz6BBHU4ODpNpIB9bnspW0VymSme3XJnM01pAiwjYEptf+uh7wuXbUvnDQ==
"@abp/jquery-validation@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-0.9.0.tgz#c32fbc119609ca2088e4e92b4134af52cabdc555"
integrity sha512-aUObKQVWb04GFt9Pmz232fzR5LQ/7+sjtoZEzO6ZT1zgYllFRPXEyiwjvsUyIQ4lzx8RQWfVLYCR5JBvcwZ/Ew==
dependencies:
"@abp/jquery" "^0.8.0"
"@abp/jquery" "^0.9.0"
jquery-validation "^1.17.0"
"@abp/jquery@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.8.0.tgz#3ece7d75f6f19adc1adf07f54e5db5c7c74931c2"
integrity sha512-cAZR/Jl5zWSbnYBKiLYbfItTVIf8teIeGVztA1pI6l40KpvtbGJsokz94su89kSMQj4Ixzo8SfSYlCgaFwYFSg==
"@abp/jquery@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-0.9.0.tgz#95a591ddbbcf13f772143ccfba5cbc8ab74c16fb"
integrity sha512-pqnqV5LtTolZz4J3aT+a+9yoBcv4LkaP3cG40r64fIdO1RsgWmNc6OWeRdD0N42bLJuPB7BQXd1vjNn+nT+cyA==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
jquery "^3.3.1"
"@abp/lodash@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.8.0.tgz#54bfbe8d69dbd6866b1d923973f20033fc01457d"
integrity sha512-hzkSD36Ig127futjVBTi8HkO6KLPcsCyPiwVyncu1TVNTf37LVOcgtSdp7kaHV6ExwNs+u5FCpUUUftA+MHZig==
"@abp/lodash@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-0.9.0.tgz#df1128c7189e18f98dad379244015ce0ca230db2"
integrity sha512-ZzqSQy6F52p3XxcxTpzSj11gLJnTv3NzRPfSbl3FlRF++NJjLxFqKwYpAtZ2ExlnH5gWZwGBa5zdDmFMO0gMIQ==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
lodash "^4.17.10"
"@abp/malihu-custom-scrollbar-plugin@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.8.0.tgz#fdd561e34d2e78dbb18141a5b45f3067e78d13f7"
integrity sha512-YAcVVWkmCv+eAiZl8FMK4inQAYLgqvtT6wp3LHPSwpi9M+npP7rsM1F8Xh8Yxi19ts7/QSluQMdfUqAlC8tzrg==
"@abp/luxon@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-0.9.0.tgz#3f10ff30382b17872cadc642285f3dfec54cd3c3"
integrity sha512-x8erCOutFMnDxSV/crnjriMtFCwTezSTdnv1eeWfAeFLu0H2Y4Y7f2OcXlxB0/n6qh+N4tffXsU9DaXKCi6XNA==
dependencies:
"@abp/core" "^0.8.0"
luxon "^1.17.3"
"@abp/malihu-custom-scrollbar-plugin@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-0.9.0.tgz#05b959c799d826e3f1bfcc6e112894613c3c9917"
integrity sha512-x9E09tyvuhMulzHvvjkgK/DvD5KPDH8J/gcVYtnJNlX6YGV6fBA/t1+nRgqPVbcGfhCzOW+ocqpJRQ05zIsVZw==
dependencies:
"@abp/core" "^0.9.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.8.0.tgz#037600ea3ef68ecd0b9d895a8a715b5e52a0ac85"
integrity sha512-Q2HV4/+zk9NNkZP7i0rbeEunE2usXtAHzTiSOFDHJaKCC3b1pAyo9ZZFwlVE69CVb9j0khXeem8T6zQmO9A88Q==
"@abp/select2@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-0.9.0.tgz#879a9ce03bb7e7c7b92847cf8c91696b459e3997"
integrity sha512-qoA0+KPpxRadQz5zA6UoDSNHXiu+mFU4oiqSvAngY2FvR5tC4w79n+6MNwDa+s2qUsUM6B6G0Q7LhcSVp6cWQA==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
select2 "^4.0.5"
"@abp/sweetalert@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.8.0.tgz#d81d553d318c2809c8ff37aa92a4eed6492513e4"
integrity sha512-AcUil0SDrbuOSZyrBEOqa9TB9bqwVyfBGtULjRTxlVfYxyfPYxCajsqDL2W0uu9Ju+vRLZRIzY6IiAE7GFm8Ug==
"@abp/sweetalert@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-0.9.0.tgz#2efe24e5a678956259a060d3161a0a9f41fd8e49"
integrity sha512-90dvkVzO+SGEvE/L/7TZjIarU75VDqMooRRX71WH8H7hxyo/6Wq43/0Mw9X/nekSrUAO8iwDbUAVcmIooUjQtQ==
dependencies:
"@abp/core" "^0.8.0"
"@abp/core" "^0.9.0"
sweetalert "^2.1.0"
"@abp/timeago@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.8.0.tgz#9035f3476e26b7a70560280c7f87aa99c2a1ff29"
integrity sha512-/DJKXHorakg2Y4Tul+LV4Qihx3rsIAnuA236tttGQCuwynBXMCgNQxSDdvfdxYKlx36N+q1+FNa/d7bJ3bLY8g==
"@abp/timeago@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-0.9.0.tgz#be1b8e45a49502ce3df152279607b11233c5db9f"
integrity sha512-89hBxxGbd8LLLVPiRjKX2emybHzhAAfXMTL0eJVXAQj4f3pGPtD10TqfNmEaEQDS3ADrOmMTqOUHsHvkDy75rA==
dependencies:
"@abp/jquery" "^0.8.0"
"@abp/jquery" "^0.9.0"
timeago "^1.6.3"
"@abp/toastr@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.8.0.tgz#474e03e8154270fac7998a375d24469a1447e480"
integrity sha512-UUyhYE30KfeTc33kq0QTYuaUseVtHTYzybUDKTpZkXj9Tvb7hJ3MNVfmNcCzX9HYw/oKNNcvYgJHFUuSFX3bwQ==
"@abp/toastr@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-0.9.0.tgz#f7ae4499404ac5a5563acfe6d436419ae561a089"
integrity sha512-JEZKlmXLdPToVP9vmMUnSThBuY7dGutCw/DMo+w/mLuBC1Pv4e2FTzJdXQqM3ccunyy/pFZqXMfcoJtC+fwkTw==
dependencies:
"@abp/jquery" "^0.8.0"
"@abp/jquery" "^0.9.0"
toastr "^2.1.4"
abbrev@1:
@ -1410,6 +1418,11 @@ lodash@^4.17.10:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
luxon@^1.17.3:
version "1.19.2"
resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.19.2.tgz#f041a9031e7dff6fdbff46e46c73b3fdf4ab2764"
integrity sha512-4Dn6oriheX04QQd7mMhuScnyQPdD7h11aCJgSTq9FqkOWdxX7xRUXoX/OXu4rkw98NmcVz3QSLpLbDnT6lVsMw==
make-iterator@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"

14
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi/Acme.BookStore.HttpApi.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>
@ -12,11 +12,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\modules\account\src\Volo.Abp.Account.HttpApi\Volo.Abp.Account.HttpApi.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.HttpApi\Volo.Abp.Identity.HttpApi.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\permission-management\src\Volo.Abp.PermissionManagement.HttpApi\Volo.Abp.PermissionManagement.HttpApi.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.HttpApi\Volo.Abp.TenantManagement.HttpApi.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.HttpApi\Volo.Abp.FeatureManagement.HttpApi.csproj" />
<PackageReference Include="Volo.Abp.Account.HttpApi" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Identity.HttpApi" Version="0.21.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.HttpApi" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi" Version="0.21.0" />
</ItemGroup>
</Project>

20
samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.MongoDB/Acme.BookStore.MongoDB.csproj

@ -1,22 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\permission-management\src\Volo.Abp.PermissionManagement.MongoDB\Volo.Abp.PermissionManagement.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\setting-management\src\Volo.Abp.SettingManagement.MongoDB\Volo.Abp.SettingManagement.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identity\src\Volo.Abp.Identity.MongoDB\Volo.Abp.Identity.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\identityserver\src\Volo.Abp.IdentityServer.MongoDB\Volo.Abp.IdentityServer.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\background-jobs\src\Volo.Abp.BackgroundJobs.MongoDB\Volo.Abp.BackgroundJobs.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\audit-logging\src\Volo.Abp.AuditLogging.MongoDB\Volo.Abp.AuditLogging.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\tenant-management\src\Volo.Abp.TenantManagement.MongoDB\Volo.Abp.TenantManagement.MongoDB.csproj" />
<ProjectReference Include="..\..\..\..\..\modules\feature-management\src\Volo.Abp.FeatureManagement.MongoDB\Volo.Abp.FeatureManagement.MongoDB.csproj" />
<PackageReference Include="Volo.Abp.PermissionManagement.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.SettingManagement.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Identity.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.IdentityServer.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.AuditLogging.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.TenantManagement.MongoDB" Version="0.21.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.MongoDB" Version="0.21.0" />
</ItemGroup>
</Project>

4
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/Acme.BookStore.Application.Tests.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>

72
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Application.Tests/BookAppService_Tests.cs

@ -1,72 +0,0 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Validation;
using Xunit;
namespace Acme.BookStore
{
public class BookAppService_Tests : BookStoreApplicationTestBase
{
private readonly IBookAppService _bookAppService;
public BookAppService_Tests()
{
_bookAppService = GetRequiredService<IBookAppService>();
}
[Fact]
public async Task Should_Get_List_Of_Books()
{
//Act
var result = await _bookAppService.GetListAsync(
new PagedAndSortedResultRequestDto()
);
//Assert
result.TotalCount.ShouldBeGreaterThan(0);
result.Items.ShouldContain(b => b.Name == "Test book 1");
}
[Fact]
public async Task Should_Create_A_Valid_Book()
{
//Act
var result = await _bookAppService.CreateAsync(
new CreateUpdateBookDto
{
Name = "New test book 42",
Price = 10,
PublishDate = DateTime.Now,
Type = BookType.ScienceFiction
}
);
//Assert
result.Id.ShouldNotBe(Guid.Empty);
result.Name.ShouldBe("New test book 42");
}
[Fact]
public async Task Should_Not_Create_A_Book_Without_Name()
{
var exception = await Assert.ThrowsAsync<AbpValidationException>(async () =>
{
await _bookAppService.CreateAsync(
new CreateUpdateBookDto
{
Name = "",
Price = 10,
PublishDate = DateTime.Now,
Type = BookType.ScienceFiction
}
);
});
exception.ValidationErrors
.ShouldContain(err => err.MemberNames.Any(mem => mem == "Name"));
}
}
}

4
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.Domain.Tests/Acme.BookStore.Domain.Tests.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>

6
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.HttpApi.Client.ConsoleTestApp/Acme.BookStore.HttpApi.Client.ConsoleTestApp.csproj

@ -1,8 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
@ -17,7 +17,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Http.Client.IdentityModel\Volo.Abp.Http.Client.IdentityModel.csproj" />
<PackageReference Include="Volo.Abp.Http.Client.IdentityModel" Version="0.21.0" />
<ProjectReference Include="..\..\src\Acme.BookStore.HttpApi.Client\Acme.BookStore.HttpApi.Client.csproj" />
</ItemGroup>

6
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json

@ -1,17 +1,17 @@
{
"RemoteServices": {
"Default": {
"BaseUrl": "https://localhost:44351"
"BaseUrl": "https://localhost:44341"
}
},
"IdentityClients": {
"Default": {
"GrantType": "password",
"ClientId": "BookStore_ConsoleTestApp",
"ClientId": "BookStore_App",
"ClientSecret": "1q2w3e*",
"UserName": "admin",
"UserPassword": "1q2w3E*",
"Authority": "https://localhost:44331",
"Authority": "https://localhost:44341",
"Scope": "BookStore"
}
}

4
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/Acme.BookStore.MongoDB.Tests.csproj

@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>

2
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.MongoDB.Tests/MongoDb/BookStoreMongoDbTestModule.cs

@ -1,4 +1,4 @@
using System;
using System;
using Mongo2Go;
using Volo.Abp.Data;
using Volo.Abp.Modularity;

10
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/Acme.BookStore.TestBase.csproj

@ -1,16 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<TargetFramework>netcoreapp3.0</TargetFramework>
<RootNamespace>Acme.BookStore</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.TestBase\Volo.Abp.TestBase.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
<ProjectReference Include="..\..\..\..\..\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj" />
<PackageReference Include="Volo.Abp.TestBase" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Autofac" Version="0.21.0" />
<PackageReference Include="Volo.Abp.Authorization" Version="0.21.0" />
<ProjectReference Include="..\..\src\Acme.BookStore.Domain\Acme.BookStore.Domain.csproj" />
</ItemGroup>

43
samples/BookStore-Angular-MongoDb/aspnet-core/test/Acme.BookStore.TestBase/BookStoreTestDataSeedContributor.cs

@ -1,49 +1,16 @@
using System;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Guids;
namespace Acme.BookStore
{
public class BookStoreTestDataSeedContributor
: IDataSeedContributor, ITransientDependency
public class BookStoreTestDataSeedContributor : IDataSeedContributor, ITransientDependency
{
private readonly IRepository<Book, Guid> _bookRepository;
private readonly IGuidGenerator _guidGenerator;
public BookStoreTestDataSeedContributor(
IRepository<Book, Guid> bookRepository,
IGuidGenerator guidGenerator)
{
_bookRepository = bookRepository;
_guidGenerator = guidGenerator;
}
public async Task SeedAsync(DataSeedContext context)
public Task SeedAsync(DataSeedContext context)
{
await _bookRepository.InsertAsync(
new Book
{
Id = _guidGenerator.Create(),
Name = "Test book 1",
Type = BookType.Fantastic,
PublishDate = new DateTime(2015, 05, 24),
Price = 21
}
);
/* Seed additional test data... */
await _bookRepository.InsertAsync(
new Book
{
Id = _guidGenerator.Create(),
Name = "Test book 2",
Type = BookType.Science,
PublishDate = new DateTime(2014, 02, 11),
Price = 15
}
);
return Task.CompletedTask;
}
}
}
Loading…
Cancel
Save