mirror of https://github.com/abpframework/abp.git
417 changed files with 2347 additions and 1056 deletions
@ -0,0 +1,167 @@ |
|||
<Project> |
|||
<PropertyGroup> |
|||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> |
|||
</PropertyGroup> |
|||
<ItemGroup> |
|||
<PackageVersion Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="2.0.24" /> |
|||
<PackageVersion Include="aliyun-net-sdk-sts" Version="3.1.1" /> |
|||
<PackageVersion Include="Aliyun.OSS.SDK.NetCore" Version="2.13.0" /> |
|||
<PackageVersion Include="AsyncKeyedLock" Version="6.2.2" /> |
|||
<PackageVersion Include="Autofac" Version="7.1.0" /> |
|||
<PackageVersion Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" /> |
|||
<PackageVersion Include="Autofac.Extras.DynamicProxy" Version="7.1.0" /> |
|||
<PackageVersion Include="AutoMapper" Version="12.0.1" /> |
|||
<PackageVersion Include="AWSSDK.S3" Version="3.7.205.9" /> |
|||
<PackageVersion Include="AWSSDK.SecurityToken" Version="3.7.202.4" /> |
|||
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.8.1" /> |
|||
<PackageVersion Include="Azure.Storage.Blobs" Version="12.18.0" /> |
|||
<PackageVersion Include="Blazorise" Version="1.3.1" /> |
|||
<PackageVersion Include="Blazorise.Components" Version="1.3.1" /> |
|||
<PackageVersion Include="Blazorise.DataGrid" Version="1.3.1" /> |
|||
<PackageVersion Include="Blazorise.Snackbar" Version="1.3.1" /> |
|||
<PackageVersion Include="Castle.Core" Version="5.1.1" /> |
|||
<PackageVersion Include="Castle.Core.AsyncInterceptor" Version="2.1.0" /> |
|||
<PackageVersion Include="CommonMark.NET" Version="0.15.1" /> |
|||
<PackageVersion Include="Confluent.Kafka" Version="2.2.0" /> |
|||
<PackageVersion Include="Dapper" Version="2.1.4" /> |
|||
<PackageVersion Include="Dapr.AspNetCore" Version="1.9.0" /> |
|||
<PackageVersion Include="Dapr.Client" Version="1.11.0" /> |
|||
<PackageVersion Include="Devart.Data.Oracle.EFCore" Version="10.1.134.7" /> |
|||
<PackageVersion Include="DistributedLock.Core" Version="1.0.5" /> |
|||
<PackageVersion Include="DistributedLock.Redis" Version="1.0.2" /> |
|||
<PackageVersion Include="EphemeralMongo.Core" Version="1.1.3" /> |
|||
<PackageVersion Include="EphemeralMongo6.runtime.linux-x64" Version="1.1.3" /> |
|||
<PackageVersion Include="EphemeralMongo6.runtime.osx-x64" Version="1.1.3" /> |
|||
<PackageVersion Include="EphemeralMongo6.runtime.win-x64" Version="1.1.3" /> |
|||
<PackageVersion Include="FluentValidation" Version="11.7.1" /> |
|||
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.5" /> |
|||
<PackageVersion Include="Hangfire.SqlServer" Version="1.8.5" /> |
|||
<PackageVersion Include="HtmlSanitizer" Version="8.0.723" /> |
|||
<PackageVersion Include="IdentityModel" Version="6.2.0" /> |
|||
<PackageVersion Include="IdentityServer4" Version="4.1.2" /> |
|||
<PackageVersion Include="IdentityServer4.AspNetIdentity" Version="4.1.2" /> |
|||
<PackageVersion Include="JetBrains.Annotations" Version="2023.2.0" /> |
|||
<PackageVersion Include="LdapForNet" Version="2.7.15" /> |
|||
<PackageVersion Include="LibGit2Sharp" Version="0.27.2" /> |
|||
<PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.3.0" /> |
|||
<PackageVersion Include="MailKit" Version="4.2.0" /> |
|||
<PackageVersion Include="Markdig.Signed" Version="0.33.0" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Components.Authorization" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="2.2.0" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Versioning" Version="5.1.0" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.22" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" /> |
|||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" /> |
|||
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" /> |
|||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.FileProviders.Composite" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Localization" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.2" /> |
|||
<PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" /> |
|||
<PackageVersion Include="Minio" Version="6.0.0" /> |
|||
<PackageVersion Include="MongoDB.Driver" Version="2.21.0" /> |
|||
<PackageVersion Include="NEST" Version="7.17.5" /> |
|||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" /> |
|||
<PackageVersion Include="Nito.AsyncEx.Context" Version="5.1.2" /> |
|||
<PackageVersion Include="Nito.AsyncEx.Coordination" Version="5.1.2" /> |
|||
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="NSubstitute" Version="5.1.0" /> |
|||
<PackageVersion Include="NuGet.Versioning" Version="6.7.0" /> |
|||
<PackageVersion Include="NUglify" Version="1.21.0" /> |
|||
<PackageVersion Include="Nullable" Version="1.3.1" /> |
|||
<PackageVersion Include="Octokit" Version="8.0.1" /> |
|||
<PackageVersion Include="OpenIddict.Abstractions" Version="4.8.0" /> |
|||
<PackageVersion Include="OpenIddict.Core" Version="4.8.0" /> |
|||
<PackageVersion Include="OpenIddict.Server.AspNetCore" Version="4.8.0" /> |
|||
<PackageVersion Include="OpenIddict.Validation.AspNetCore" Version="4.8.0" /> |
|||
<PackageVersion Include="OpenIddict.Validation.ServerIntegration" Version="4.8.0" /> |
|||
<PackageVersion Include="Oracle.EntityFrameworkCore" Version="7.21.8" /> |
|||
<PackageVersion Include="Polly" Version="8.0.0" /> |
|||
<PackageVersion Include="Polly.Extensions.Http" Version="3.0.0" /> |
|||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.0-beta.1" /> |
|||
<PackageVersion Include="Quartz" Version="3.7.0" /> |
|||
<PackageVersion Include="Quartz.Extensions.DependencyInjection" Version="3.7.0" /> |
|||
<PackageVersion Include="Quartz.Plugins.TimeZoneConverter" Version="3.7.0" /> |
|||
<PackageVersion Include="Quartz.Serialization.Json" Version="3.3.3" /> |
|||
<PackageVersion Include="RabbitMQ.Client" Version="6.5.0" /> |
|||
<PackageVersion Include="Rebus" Version="7.2.1" /> |
|||
<PackageVersion Include="Rebus.ServiceProvider" Version="9.1.0" /> |
|||
<PackageVersion Include="Scriban" Version="5.9.0" /> |
|||
<PackageVersion Include="Serilog" Version="2.11.0" /> |
|||
<PackageVersion Include="Serilog.AspNetCore" Version="7.0.0" /> |
|||
<PackageVersion Include="Serilog.Extensions.Hosting" Version="7.0.0" /> |
|||
<PackageVersion Include="Serilog.Extensions.Logging" Version="7.0.0" /> |
|||
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0" /> |
|||
<PackageVersion Include="Serilog.Sinks.Console" Version="4.1.0" /> |
|||
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" /> |
|||
<PackageVersion Include="SharpZipLib" Version="1.4.2" /> |
|||
<PackageVersion Include="Shouldly" Version="4.0.3" /> |
|||
<PackageVersion Include="SixLabors.ImageSharp" Version="2.1.6" /> |
|||
<PackageVersion Include="SixLabors.ImageSharp.Drawing" Version="1.0.0" /> |
|||
<PackageVersion Include="Slugify.Core" Version="4.0.1" /> |
|||
<PackageVersion Include="Spectre.Console" Version="0.47.0" /> |
|||
<PackageVersion Include="StackExchange.Redis" Version="2.6.122" /> |
|||
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" /> |
|||
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" /> |
|||
<PackageVersion Include="System.Linq.Async" Version="6.0.1" /> |
|||
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.3.5" /> |
|||
<PackageVersion Include="System.Linq.Queryable" Version="4.3.0" /> |
|||
<PackageVersion Include="System.Runtime.Loader" Version="4.3.0" /> |
|||
<PackageVersion Include="System.Security.Permissions" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" /> |
|||
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="System.Text.Encodings.Web" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="System.Text.Json" Version="8.0.0-rc.2" /> |
|||
<PackageVersion Include="TimeZoneConverter" Version="6.1.0" /> |
|||
<PackageVersion Include="Unidecode.NET" Version="2.1.0" /> |
|||
<PackageVersion Include="xunit" Version="2.5.1" /> |
|||
<PackageVersion Include="xunit.extensibility.execution" Version="2.5.1" /> |
|||
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.1" /> |
|||
<PackageVersion Include="coverlet.collector" Version="3.1.2" /> |
|||
<PackageVersion Include="ConfigureAwait.Fody" Version="3.3.2"/> |
|||
<PackageVersion Include="Fody" Version="6.8.0" /> |
|||
</ItemGroup> |
|||
</Project> |
|||
@ -0,0 +1,34 @@ |
|||
# Configuring Configuring SSL certificate(HTTPS) |
|||
|
|||
A website needs an SSL certificate in order to keep user data secure, verify ownership of the website, prevent attackers from creating a fake version of the site, and gain user trust. |
|||
|
|||
This document introduces how to get and use SSL certificate(HTTPS) for your application. |
|||
|
|||
## Get a SSL Certificate from a Certificate Authority |
|||
|
|||
You can get a SSL certificate from a certificate authority (CA) such as [Let's Encrypt](https://letsencrypt.org/) or [Cloudflare](https://www.cloudflare.com/learning/ssl/what-is-an-ssl-certificate/) and so on. |
|||
|
|||
Once you have a certificate, you need to configure your web server to use it. The following references show how to configure your web server to use a certificate. |
|||
|
|||
* [Host ASP.NET Core on Linux with Apache: HTTPS configuration](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache) |
|||
* [Host ASP.NET Core on Linux with Nginx: HTTPS configuration](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx) |
|||
* [How to Set Up SSL on IIS 7 or later](https://learn.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis) |
|||
|
|||
## Create a Self-Signed Certificate |
|||
|
|||
You can create a self-signed certificate for testing purposes or internal use. |
|||
|
|||
There is an article about [how to create a self-signed certificate](https://learn.microsoft.com/en-us/dotnet/core/additional-tools/self-signed-certificates-guide), If you are using IIS, you can use the following this document to [obtain a Certificate](https://learn.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis#obtain-a-certificate) |
|||
|
|||
## Common Problems |
|||
|
|||
### The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot |
|||
|
|||
This error may occur when using IIS. You need to trust your certificate by `Manage computer certificates`. |
|||
|
|||
## References |
|||
|
|||
* [ABP commercial IIS Deployment](https://docs.abp.io/en/commercial/latest/startup-templates/application/deployment-iis) |
|||
* [HTTPS in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/security/enforcing-ssl) |
|||
* [Let's Encrypt](https://letsencrypt.org/getting-started) |
|||
* [Cloudflare's Free SSL / TLS](https://www.cloudflare.com/application-services/products/ssl/) |
|||
@ -0,0 +1,41 @@ |
|||
# Abp Window Service |
|||
|
|||
|
|||
## Download Blob as File |
|||
AbpWindowService is an Angular service designed to provide utility methods related to window operations. The service has a `downloadBlob` function, which is used for downloading blobs as files within the context of a web application. |
|||
|
|||
### Usage |
|||
|
|||
To make use of the `AbpWindowService` in your Angular application, follow the steps below: |
|||
|
|||
### Injection |
|||
Firstly, ensure that the service is injected into the component or any other Angular entity where you wish to use it. |
|||
|
|||
```js |
|||
import { AbpWindowService } from '@abp/ng.core'; |
|||
|
|||
constructor(private abpWindowService: AbpWindowService) { } |
|||
// or |
|||
// private abpWindowService = inject(AbpWindowService) |
|||
``` |
|||
|
|||
### Downloading a Blob |
|||
|
|||
Once you have the service injected, you can use the downloadBlob method to initiate the download of blob data as a file. For instance: |
|||
|
|||
```js |
|||
someMethod() { |
|||
const myBlob = new Blob(["Hello, World!"], { type: "text/plain" }); |
|||
this.abpWindowService.downloadBlob(myBlob, "hello.txt"); |
|||
} |
|||
``` |
|||
|
|||
### Permissions & Considerations |
|||
|
|||
Ensure that you have appropriate permissions and user interactions before triggering a download. Since downloadBlob initiates a download programmatically, it's best to tie this action to direct user interactions, such as button clicks, to prevent unexpected behaviors or browser restrictions. |
|||
|
|||
|
|||
### DOCUMENT Token in Service |
|||
|
|||
Angular, being a platform-agnostic framework, is designed to support not only browser-based applications but also other environments like server-side rendering (SSR) through Angular Universal. This design philosophy introduces challenges when accessing global browser-specific objects like window or document directly. To address this, Angular provides a DOCUMENT token that can be used to inject the document object into Angular entities like components and services. |
|||
|
|||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
@ -0,0 +1,113 @@ |
|||
using System; |
|||
using System.Linq; |
|||
using Volo.Abp.Cli.ProjectBuilding.Files; |
|||
using Volo.Abp.Cli.ProjectBuilding.Templates.App; |
|||
|
|||
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps; |
|||
|
|||
public class AppModuleDatabaseManagementSystemChangeStep : ProjectBuildPipelineStep |
|||
{ |
|||
public override void Execute(ProjectBuildContext context) |
|||
{ |
|||
switch (context.BuildArgs.DatabaseManagementSystem) |
|||
{ |
|||
case DatabaseManagementSystem.MySQL: |
|||
ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.MySQL", |
|||
"Volo.Abp.EntityFrameworkCore.MySQL", |
|||
"AbpEntityFrameworkCoreMySQLModule"); |
|||
AddMySqlServerVersion(context); |
|||
ChangeUseSqlServer(context, "UseMySQL", "UseMySql"); |
|||
break; |
|||
|
|||
case DatabaseManagementSystem.PostgreSQL: |
|||
ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.PostgreSql", |
|||
"Volo.Abp.EntityFrameworkCore.PostgreSql", |
|||
"AbpEntityFrameworkCorePostgreSqlModule"); |
|||
ChangeUseSqlServer(context, "UseNpgsql"); |
|||
break; |
|||
|
|||
case DatabaseManagementSystem.Oracle: |
|||
ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.Oracle", |
|||
"Volo.Abp.EntityFrameworkCore.Oracle", |
|||
"AbpEntityFrameworkCoreOracleModule"); |
|||
AdjustOracleDbContextOptionsBuilder(context); |
|||
ChangeUseSqlServer(context, "UseOracle"); |
|||
break; |
|||
|
|||
case DatabaseManagementSystem.OracleDevart: |
|||
ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.Oracle.Devart", |
|||
"Volo.Abp.EntityFrameworkCore.Oracle.Devart", |
|||
"AbpEntityFrameworkCoreOracleDevartModule"); |
|||
AdjustOracleDbContextOptionsBuilder(context); |
|||
ChangeUseSqlServer(context, "UseOracle"); |
|||
break; |
|||
|
|||
case DatabaseManagementSystem.SQLite: |
|||
ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.Sqlite", |
|||
"Volo.Abp.EntityFrameworkCore.Sqlite", |
|||
"AbpEntityFrameworkCoreSqliteModule"); |
|||
ChangeUseSqlServer(context, "UseSqlite"); |
|||
break; |
|||
|
|||
default: |
|||
return; |
|||
} |
|||
} |
|||
|
|||
private void AdjustOracleDbContextOptionsBuilder(ProjectBuildContext context) |
|||
{ |
|||
var dbContextFactoryFiles = context.Files.Where(f => f.Name.EndsWith("DbContextFactory.cs", StringComparison.OrdinalIgnoreCase)); |
|||
foreach (var dbContextFactoryFile in dbContextFactoryFiles) |
|||
{ |
|||
dbContextFactoryFile?.ReplaceText("new DbContextOptionsBuilder", |
|||
$"(DbContextOptionsBuilder<{context.BuildArgs.SolutionName.ProjectName}{(false ? "Migrations" : string.Empty)}DbContext>) new DbContextOptionsBuilder"); |
|||
} |
|||
} |
|||
|
|||
private void AddMySqlServerVersion(ProjectBuildContext context) |
|||
{ |
|||
var dbContextFactoryFiles = context.Files.Where(f => f.Name.EndsWith("DbContextFactory.cs", StringComparison.OrdinalIgnoreCase)); |
|||
foreach (var dbContextFactoryFile in dbContextFactoryFiles) |
|||
{ |
|||
dbContextFactoryFile?.ReplaceText("configuration.GetConnectionString(\"Default\")", "configuration.GetConnectionString(\"Default\"), MySqlServerVersion.LatestSupportedServerVersion"); |
|||
} |
|||
} |
|||
|
|||
private void ChangeEntityFrameworkCoreDependency(ProjectBuildContext context, string newPackageName, string newModuleNamespace, string newModuleClass) |
|||
{ |
|||
var efCoreProjectFiles = context.Files.Where(f => f.Name.EndsWith(".csproj", StringComparison.OrdinalIgnoreCase)); |
|||
foreach (var efCoreProjectFile in efCoreProjectFiles) |
|||
{ |
|||
efCoreProjectFile?.ReplaceText("Volo.Abp.EntityFrameworkCore.SqlServer", newPackageName); |
|||
} |
|||
|
|||
var efCoreModuleClasses = context.Files.Where(f => f.Name.EndsWith("Module.cs", StringComparison.OrdinalIgnoreCase)); |
|||
foreach (var efCoreModuleClass in efCoreModuleClasses) |
|||
{ |
|||
efCoreModuleClass?.ReplaceText("Volo.Abp.EntityFrameworkCore.SqlServer", newModuleNamespace); |
|||
efCoreModuleClass?.ReplaceText("AbpEntityFrameworkCoreSqlServerModule", newModuleClass); |
|||
} |
|||
} |
|||
|
|||
private void ChangeUseSqlServer(ProjectBuildContext context, string newUseMethodForEfModule, string newUseMethodForDbContext = null) |
|||
{ |
|||
if (newUseMethodForDbContext == null) |
|||
{ |
|||
newUseMethodForDbContext = newUseMethodForEfModule; |
|||
} |
|||
|
|||
const string oldUseMethod = "UseSqlServer"; |
|||
|
|||
var efCoreModuleClasses = context.Files.Where(f => f.Name.EndsWith("Module.cs", StringComparison.OrdinalIgnoreCase)); |
|||
foreach (var efCoreModuleClass in efCoreModuleClasses) |
|||
{ |
|||
efCoreModuleClass.ReplaceText(oldUseMethod, newUseMethodForEfModule); |
|||
} |
|||
|
|||
var dbContextFactoryFiles = context.Files.Where(f => f.Name.EndsWith("DbContextFactory.cs", StringComparison.OrdinalIgnoreCase)); |
|||
foreach (var dbContextFactoryFile in dbContextFactoryFiles) |
|||
{ |
|||
dbContextFactoryFile?.ReplaceText(oldUseMethod, newUseMethodForDbContext); |
|||
} |
|||
} |
|||
} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue