Add Blazor WebApp variants to the Modular CRM tutorial: insert doc-params and UI conditionals across parts 01-08, add multiple Blazor-specific screenshots, and include Blazor code samples/placeholders for catalog and ordering pages and menu contributor. Also add EF Core migration (20260227074745_ABP10_2) and update the DbContext model snapshot, plus small updates to migrator and web app settings/packages to accommodate the changes.pull/24987/head
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
@ -0,0 +1,160 @@ |
|||||
|
using System; |
||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
|
||||
|
#nullable disable |
||||
|
|
||||
|
namespace Migrations |
||||
|
{ |
||||
|
/// <inheritdoc />
|
||||
|
public partial class ABP10_2 : Migration |
||||
|
{ |
||||
|
/// <inheritdoc />
|
||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.DropIndex( |
||||
|
name: "IX_AbpPermissions_Name", |
||||
|
table: "AbpPermissions"); |
||||
|
|
||||
|
migrationBuilder.AddColumn<DateTimeOffset>( |
||||
|
name: "LastSignInTime", |
||||
|
table: "AbpUsers", |
||||
|
type: "datetimeoffset", |
||||
|
nullable: true); |
||||
|
|
||||
|
migrationBuilder.AddColumn<bool>( |
||||
|
name: "Leaved", |
||||
|
table: "AbpUsers", |
||||
|
type: "bit", |
||||
|
nullable: false, |
||||
|
defaultValue: false); |
||||
|
|
||||
|
migrationBuilder.AlterColumn<string>( |
||||
|
name: "GroupName", |
||||
|
table: "AbpPermissions", |
||||
|
type: "nvarchar(128)", |
||||
|
maxLength: 128, |
||||
|
nullable: true, |
||||
|
oldClrType: typeof(string), |
||||
|
oldType: "nvarchar(128)", |
||||
|
oldMaxLength: 128); |
||||
|
|
||||
|
migrationBuilder.AddColumn<string>( |
||||
|
name: "ManagementPermissionName", |
||||
|
table: "AbpPermissions", |
||||
|
type: "nvarchar(128)", |
||||
|
maxLength: 128, |
||||
|
nullable: true); |
||||
|
|
||||
|
migrationBuilder.AddColumn<string>( |
||||
|
name: "ResourceName", |
||||
|
table: "AbpPermissions", |
||||
|
type: "nvarchar(256)", |
||||
|
maxLength: 256, |
||||
|
nullable: true); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AbpResourcePermissionGrants", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false), |
||||
|
ProviderName = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false), |
||||
|
ProviderKey = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false), |
||||
|
ResourceName = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false), |
||||
|
ResourceKey = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AbpResourcePermissionGrants", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AbpUserPasskeys", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
CredentialId = table.Column<byte[]>(type: "varbinary(1024)", maxLength: 1024, nullable: false), |
||||
|
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), |
||||
|
UserId = table.Column<Guid>(type: "uniqueidentifier", nullable: false), |
||||
|
Data = table.Column<string>(type: "nvarchar(max)", nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AbpUserPasskeys", x => x.CredentialId); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AbpUserPasskeys_AbpUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AbpUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AbpPermissions_ResourceName_Name", |
||||
|
table: "AbpPermissions", |
||||
|
columns: new[] { "ResourceName", "Name" }, |
||||
|
unique: true, |
||||
|
filter: "[ResourceName] IS NOT NULL"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AbpResourcePermissionGrants_TenantId_Name_ResourceName_ResourceKey_ProviderName_ProviderKey", |
||||
|
table: "AbpResourcePermissionGrants", |
||||
|
columns: new[] { "TenantId", "Name", "ResourceName", "ResourceKey", "ProviderName", "ProviderKey" }, |
||||
|
unique: true, |
||||
|
filter: "[TenantId] IS NOT NULL"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AbpUserPasskeys_UserId", |
||||
|
table: "AbpUserPasskeys", |
||||
|
column: "UserId"); |
||||
|
} |
||||
|
|
||||
|
/// <inheritdoc />
|
||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AbpResourcePermissionGrants"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AbpUserPasskeys"); |
||||
|
|
||||
|
migrationBuilder.DropIndex( |
||||
|
name: "IX_AbpPermissions_ResourceName_Name", |
||||
|
table: "AbpPermissions"); |
||||
|
|
||||
|
migrationBuilder.DropColumn( |
||||
|
name: "LastSignInTime", |
||||
|
table: "AbpUsers"); |
||||
|
|
||||
|
migrationBuilder.DropColumn( |
||||
|
name: "Leaved", |
||||
|
table: "AbpUsers"); |
||||
|
|
||||
|
migrationBuilder.DropColumn( |
||||
|
name: "ManagementPermissionName", |
||||
|
table: "AbpPermissions"); |
||||
|
|
||||
|
migrationBuilder.DropColumn( |
||||
|
name: "ResourceName", |
||||
|
table: "AbpPermissions"); |
||||
|
|
||||
|
migrationBuilder.AlterColumn<string>( |
||||
|
name: "GroupName", |
||||
|
table: "AbpPermissions", |
||||
|
type: "nvarchar(128)", |
||||
|
maxLength: 128, |
||||
|
nullable: false, |
||||
|
defaultValue: "", |
||||
|
oldClrType: typeof(string), |
||||
|
oldType: "nvarchar(128)", |
||||
|
oldMaxLength: 128, |
||||
|
oldNullable: true); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AbpPermissions_Name", |
||||
|
table: "AbpPermissions", |
||||
|
column: "Name", |
||||
|
unique: true); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -1,3 +1,3 @@ |
|||||
{ |
{ |
||||
"ConnectionString": "Server=localhost;Database=VoloDocs;Trusted_Connection=True;TrustServerCertificate=True", |
"ConnectionString": "Server=(LocalDb)\\MSSQLLocalDB;Database=VoloDocs;Trusted_Connection=True;TrustServerCertificate=True" |
||||
} |
} |
||||
@ -1,3 +1,4 @@ |
|||||
{ |
{ |
||||
"role": "host.mvc" |
"role": "host.mvc", |
||||
|
"projectId": "47142bf8-4bb8-41c5-9900-990a97a67e8a" |
||||
} |
} |
||||