Browse Source
* Initial Web2 project working * Initial WebRazorPages project working * Adding additional sln files * Removing old project * Fixed integration tests * Getting FunctionalTests working. * Got Swagger working in Web * Moved web2 to webmain
committed by
GitHub
54 changed files with 2087 additions and 398 deletions
@ -0,0 +1,3 @@ |
|||||
|
@{ |
||||
|
Layout = "/Views/Shared/_Layout.cshtml"; |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
using Microsoft.AspNetCore.Identity.EntityFrameworkCore; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
|
||||
|
namespace Web2.Data |
||||
|
{ |
||||
|
public class ApplicationDbContext : IdentityDbContext |
||||
|
{ |
||||
|
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) |
||||
|
: base(options) |
||||
|
{ |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,236 @@ |
|||||
|
// <auto-generated />
|
||||
|
using System; |
||||
|
using Web2.Data; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using Microsoft.EntityFrameworkCore.Infrastructure; |
||||
|
using Microsoft.EntityFrameworkCore.Metadata; |
||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
||||
|
|
||||
|
namespace Web2.Data.Migrations |
||||
|
{ |
||||
|
[DbContext(typeof(ApplicationDbContext))] |
||||
|
[Migration("00000000000000_CreateIdentitySchema")] |
||||
|
partial class CreateIdentitySchema |
||||
|
{ |
||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
||||
|
{ |
||||
|
#pragma warning disable 612, 618
|
||||
|
modelBuilder |
||||
|
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedName") |
||||
|
.IsUnique() |
||||
|
.HasName("RoleNameIndex") |
||||
|
.HasFilter("[NormalizedName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("RoleId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetRoleClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<int>("AccessFailedCount"); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Email") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<bool>("EmailConfirmed"); |
||||
|
|
||||
|
b.Property<bool>("LockoutEnabled"); |
||||
|
|
||||
|
b.Property<DateTimeOffset?>("LockoutEnd"); |
||||
|
|
||||
|
b.Property<string>("NormalizedEmail") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedUserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("PasswordHash"); |
||||
|
|
||||
|
b.Property<string>("PhoneNumber"); |
||||
|
|
||||
|
b.Property<bool>("PhoneNumberConfirmed"); |
||||
|
|
||||
|
b.Property<string>("SecurityStamp"); |
||||
|
|
||||
|
b.Property<bool>("TwoFactorEnabled"); |
||||
|
|
||||
|
b.Property<string>("UserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedEmail") |
||||
|
.HasName("EmailIndex"); |
||||
|
|
||||
|
b.HasIndex("NormalizedUserName") |
||||
|
.IsUnique() |
||||
|
.HasName("UserNameIndex") |
||||
|
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetUsers"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderKey") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderDisplayName"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("LoginProvider", "ProviderKey"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserLogins"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("RoleId"); |
||||
|
|
||||
|
b.HasKey("UserId", "RoleId"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Value"); |
||||
|
|
||||
|
b.HasKey("UserId", "LoginProvider", "Name"); |
||||
|
|
||||
|
b.ToTable("AspNetUserTokens"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
|
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
#pragma warning restore 612, 618
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,220 @@ |
|||||
|
using System; |
||||
|
using Microsoft.EntityFrameworkCore.Metadata; |
||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
|
||||
|
namespace Web2.Data.Migrations |
||||
|
{ |
||||
|
public partial class CreateIdentitySchema : Migration |
||||
|
{ |
||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetRoles", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<string>(nullable: false), |
||||
|
Name = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
NormalizedName = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetRoles", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUsers", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<string>(nullable: false), |
||||
|
UserName = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
Email = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
EmailConfirmed = table.Column<bool>(nullable: false), |
||||
|
PasswordHash = table.Column<string>(nullable: true), |
||||
|
SecurityStamp = table.Column<string>(nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(nullable: true), |
||||
|
PhoneNumber = table.Column<string>(nullable: true), |
||||
|
PhoneNumberConfirmed = table.Column<bool>(nullable: false), |
||||
|
TwoFactorEnabled = table.Column<bool>(nullable: false), |
||||
|
LockoutEnd = table.Column<DateTimeOffset>(nullable: true), |
||||
|
LockoutEnabled = table.Column<bool>(nullable: false), |
||||
|
AccessFailedCount = table.Column<int>(nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUsers", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetRoleClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<int>(nullable: false) |
||||
|
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
||||
|
RoleId = table.Column<string>(nullable: false), |
||||
|
ClaimType = table.Column<string>(nullable: true), |
||||
|
ClaimValue = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", |
||||
|
column: x => x.RoleId, |
||||
|
principalTable: "AspNetRoles", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<int>(nullable: false) |
||||
|
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
||||
|
UserId = table.Column<string>(nullable: false), |
||||
|
ClaimType = table.Column<string>(nullable: true), |
||||
|
ClaimValue = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserClaims_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserLogins", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
ProviderKey = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
ProviderDisplayName = table.Column<string>(nullable: true), |
||||
|
UserId = table.Column<string>(nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserLogins_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserRoles", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
UserId = table.Column<string>(nullable: false), |
||||
|
RoleId = table.Column<string>(nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserRoles_AspNetRoles_RoleId", |
||||
|
column: x => x.RoleId, |
||||
|
principalTable: "AspNetRoles", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserRoles_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserTokens", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
UserId = table.Column<string>(nullable: false), |
||||
|
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
Name = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
Value = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserTokens_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetRoleClaims_RoleId", |
||||
|
table: "AspNetRoleClaims", |
||||
|
column: "RoleId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "RoleNameIndex", |
||||
|
table: "AspNetRoles", |
||||
|
column: "NormalizedName", |
||||
|
unique: true, |
||||
|
filter: "[NormalizedName] IS NOT NULL"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetUserClaims_UserId", |
||||
|
table: "AspNetUserClaims", |
||||
|
column: "UserId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetUserLogins_UserId", |
||||
|
table: "AspNetUserLogins", |
||||
|
column: "UserId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetUserRoles_RoleId", |
||||
|
table: "AspNetUserRoles", |
||||
|
column: "RoleId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "EmailIndex", |
||||
|
table: "AspNetUsers", |
||||
|
column: "NormalizedEmail"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "UserNameIndex", |
||||
|
table: "AspNetUsers", |
||||
|
column: "NormalizedUserName", |
||||
|
unique: true, |
||||
|
filter: "[NormalizedUserName] IS NOT NULL"); |
||||
|
} |
||||
|
|
||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetRoleClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserLogins"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserRoles"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserTokens"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetRoles"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUsers"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,234 @@ |
|||||
|
// <auto-generated />
|
||||
|
using System; |
||||
|
using Web2.Data; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using Microsoft.EntityFrameworkCore.Infrastructure; |
||||
|
using Microsoft.EntityFrameworkCore.Metadata; |
||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
||||
|
|
||||
|
namespace Web2.Data.Migrations |
||||
|
{ |
||||
|
[DbContext(typeof(ApplicationDbContext))] |
||||
|
partial class ApplicationDbContextModelSnapshot : ModelSnapshot |
||||
|
{ |
||||
|
protected override void BuildModel(ModelBuilder modelBuilder) |
||||
|
{ |
||||
|
#pragma warning disable 612, 618
|
||||
|
modelBuilder |
||||
|
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedName") |
||||
|
.IsUnique() |
||||
|
.HasName("RoleNameIndex") |
||||
|
.HasFilter("[NormalizedName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("RoleId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetRoleClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<int>("AccessFailedCount"); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Email") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<bool>("EmailConfirmed"); |
||||
|
|
||||
|
b.Property<bool>("LockoutEnabled"); |
||||
|
|
||||
|
b.Property<DateTimeOffset?>("LockoutEnd"); |
||||
|
|
||||
|
b.Property<string>("NormalizedEmail") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedUserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("PasswordHash"); |
||||
|
|
||||
|
b.Property<string>("PhoneNumber"); |
||||
|
|
||||
|
b.Property<bool>("PhoneNumberConfirmed"); |
||||
|
|
||||
|
b.Property<string>("SecurityStamp"); |
||||
|
|
||||
|
b.Property<bool>("TwoFactorEnabled"); |
||||
|
|
||||
|
b.Property<string>("UserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedEmail") |
||||
|
.HasName("EmailIndex"); |
||||
|
|
||||
|
b.HasIndex("NormalizedUserName") |
||||
|
.IsUnique() |
||||
|
.HasName("UserNameIndex") |
||||
|
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetUsers"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderKey") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderDisplayName"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("LoginProvider", "ProviderKey"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserLogins"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("RoleId"); |
||||
|
|
||||
|
b.HasKey("UserId", "RoleId"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Value"); |
||||
|
|
||||
|
b.HasKey("UserId", "LoginProvider", "Name"); |
||||
|
|
||||
|
b.ToTable("AspNetUserTokens"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
|
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
#pragma warning restore 612, 618
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
using System; |
||||
|
|
||||
|
namespace Web2.Models |
||||
|
{ |
||||
|
public class ErrorViewModel |
||||
|
{ |
||||
|
public string RequestId { get; set; } |
||||
|
|
||||
|
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,8 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "Home Page"; |
||||
|
} |
||||
|
|
||||
|
<div class="text-center"> |
||||
|
<h1 class="display-4">Welcome</h1> |
||||
|
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> |
||||
|
</div> |
||||
@ -0,0 +1,6 @@ |
|||||
|
@{ |
||||
|
ViewData["Title"] = "Privacy Policy"; |
||||
|
} |
||||
|
<h1>@ViewData["Title"]</h1> |
||||
|
|
||||
|
<p>Use this page to detail your site's privacy policy.</p> |
||||
@ -0,0 +1,25 @@ |
|||||
|
@using Microsoft.AspNetCore.Http.Features |
||||
|
|
||||
|
@{ |
||||
|
var consentFeature = Context.Features.Get<ITrackingConsentFeature>(); |
||||
|
var showBanner = !consentFeature?.CanTrack ?? false; |
||||
|
var cookieString = consentFeature?.CreateConsentCookie(); |
||||
|
} |
||||
|
|
||||
|
@if (showBanner) |
||||
|
{ |
||||
|
<div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert"> |
||||
|
Use this space to summarize your privacy and cookie use policy. <a asp-area="" asp-controller="Home" asp-action="Privacy">Learn More</a>. |
||||
|
<button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString"> |
||||
|
<span aria-hidden="true">Accept</span> |
||||
|
</button> |
||||
|
</div> |
||||
|
<script> |
||||
|
(function () { |
||||
|
var button = document.querySelector("#cookieConsent button[data-cookie-string]"); |
||||
|
button.addEventListener("click", function (event) { |
||||
|
document.cookie = button.dataset.cookieString; |
||||
|
}, false); |
||||
|
})(); |
||||
|
</script> |
||||
|
} |
||||
@ -1,42 +1,164 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk.Web"> |
<Project Sdk="Microsoft.NET.Sdk.Web"> |
||||
|
|
||||
<PropertyGroup> |
<PropertyGroup> |
||||
<TargetFramework>netcoreapp2.1</TargetFramework> |
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
<RootNamespace>Microsoft.eShopWeb.Web</RootNamespace> |
<RootNamespace>Microsoft.eShopWeb.Web</RootNamespace> |
||||
</PropertyGroup> |
<UserSecretsId>aspnet-Web2-1FA3F72E-E7E3-4360-9E49-1CCCD7FE85F7</UserSecretsId> |
||||
|
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> |
||||
|
</PropertyGroup> |
||||
|
|
||||
<ItemGroup> |
|
||||
<PackageReference Include="Dapper" Version="1.50.5" /> |
<ItemGroup> |
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" /> |
<PackageReference Include="Microsoft.AspNetCore.App" /> |
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.2" PrivateAssets="All" /> |
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> |
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.3" PrivateAssets="All" /> |
<PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
<ItemGroup> |
<ItemGroup> |
||||
<Folder Include="Views\Catalog\" /> |
<Folder Include="Views\Catalog\" /> |
||||
<Folder Include="wwwroot\fonts\" /> |
<Folder Include="wwwroot\fonts\" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
<ItemGroup> |
<ItemGroup> |
||||
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" /> |
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" /> |
||||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" /> |
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
<ItemGroup> |
<ItemGroup> |
||||
<None Include="wwwroot\images\products\1.png" /> |
<None Include="wwwroot\images\products\1.png" /> |
||||
<None Include="wwwroot\images\products\10.png" /> |
<None Include="wwwroot\images\products\10.png" /> |
||||
<None Include="wwwroot\images\products\11.png" /> |
<None Include="wwwroot\images\products\11.png" /> |
||||
<None Include="wwwroot\images\products\12.png" /> |
<None Include="wwwroot\images\products\12.png" /> |
||||
<None Include="wwwroot\images\products\2.png" /> |
<None Include="wwwroot\images\products\2.png" /> |
||||
<None Include="wwwroot\images\products\3.png" /> |
<None Include="wwwroot\images\products\3.png" /> |
||||
<None Include="wwwroot\images\products\4.png" /> |
<None Include="wwwroot\images\products\4.png" /> |
||||
<None Include="wwwroot\images\products\5.png" /> |
<None Include="wwwroot\images\products\5.png" /> |
||||
<None Include="wwwroot\images\products\6.png" /> |
<None Include="wwwroot\images\products\6.png" /> |
||||
<None Include="wwwroot\images\products\7.png" /> |
<None Include="wwwroot\images\products\7.png" /> |
||||
<None Include="wwwroot\images\products\8.png" /> |
<None Include="wwwroot\images\products\8.png" /> |
||||
<None Include="wwwroot\images\products\9.png" /> |
<None Include="wwwroot\images\products\9.png" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
<ItemGroup> |
<ItemGroup> |
||||
<Content Update="appsettings.json"> |
<Content Update="appsettings.json"> |
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
<CopyToOutputDirectory>Always</CopyToOutputDirectory> |
||||
</Content> |
</Content> |
||||
</ItemGroup> |
<Content Update="Views\Shared\Error.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
<Content Update="Views\Shared\_Layout.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
<Content Update="Views\Shared\_LoginPartial.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
<Content Update="Views\Shared\_ValidationScriptsPartial.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
<Content Update="Views\_ViewImports.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
<Content Update="Views\_ViewStart.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Account\Lockout.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<_ContentIncludedByDefault Remove="Views\Account\Lockout.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Account\LoginWith2fa.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Account\Register.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Account\Signin.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Basket\Checkout.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Basket\Index.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Catalog\Index.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Catalog\_pagination.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Catalog\_product.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\ChangePassword.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\Disable2fa.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\EnableAuthenticator.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\ExternalLogins.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\GenerateRecoveryCodes.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\Index.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\ResetAuthenticator.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\SetPassword.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\TwoFactorAuthentication.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\_Layout.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\_ManageNav.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\_StatusMessage.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Manage\_ViewImports.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Order\Detail.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Order\Index.cshtml" /> |
||||
|
<_ContentIncludedByDefault Remove="Views\Shared\Components\Basket\Default.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Account\LoginWith2fa.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Account\Register.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Account\Signin.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Basket\Checkout.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Basket\Index.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Catalog\_pagination.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Catalog\_product.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Catalog\Index.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\_Layout.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\_ManageNav.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\_StatusMessage.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\_ViewImports.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\ChangePassword.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\Disable2fa.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\EnableAuthenticator.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\ExternalLogins.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\GenerateRecoveryCodes.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\Index.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\ResetAuthenticator.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\SetPassword.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Manage\TwoFactorAuthentication.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Order\Detail.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Order\Index.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<UpToDateCheckInput Remove="Views\Shared\Components\Basket\Default.cshtml" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
</Project> |
</Project> |
||||
|
|||||
@ -1,24 +0,0 @@ |
|||||
// Configure bundling and minification for the project. |
|
||||
// More info at https://go.microsoft.com/fwlink/?LinkId=808241 |
|
||||
[ |
|
||||
{ |
|
||||
"outputFileName": "wwwroot/css/app.min.css", |
|
||||
// An array of relative input file paths. Globbing patterns supported |
|
||||
"inputFiles": [ |
|
||||
"wwwroot/css/app.css" |
|
||||
] |
|
||||
}, |
|
||||
{ |
|
||||
"outputFileName": "wwwroot/js/site.min.js", |
|
||||
"inputFiles": [ |
|
||||
"wwwroot/js/site.js" |
|
||||
], |
|
||||
// Optionally specify minification options |
|
||||
"minify": { |
|
||||
"enabled": true, |
|
||||
"renameLocals": true |
|
||||
}, |
|
||||
// Optionally generate .map file |
|
||||
"sourceMap": false |
|
||||
} |
|
||||
] |
|
||||
@ -1,42 +0,0 @@ |
|||||
[ |
|
||||
{ |
|
||||
"outputFile": "wwwroot/css/orders/orders.component.css", |
|
||||
"inputFile": "wwwroot/css/orders/orders.component.scss" |
|
||||
}, |
|
||||
//{ |
|
||||
// "outputFile": "wwwroot/css/orders/orders-new/orders-new.component.css", |
|
||||
// "inputFile": "wwwroot/css/orders/orders-new/orders-new.component.scss" |
|
||||
//}, |
|
||||
//{ |
|
||||
// "outputFile": "wwwroot/css/orders/orders-detail/orders-detail.component.css", |
|
||||
// "inputFile": "wwwroot/css/orders/orders-detail/orders-detail.component.scss" |
|
||||
//}, |
|
||||
{ |
|
||||
"outputFile": "wwwroot/css/catalog/catalog.component.css", |
|
||||
"inputFile": "wwwroot/css/catalog/catalog.component.scss" |
|
||||
}, |
|
||||
{ |
|
||||
"outputFile": "wwwroot/css/basket/basket.component.css", |
|
||||
"inputFile": "wwwroot/css/basket/basket.component.scss" |
|
||||
}, |
|
||||
{ |
|
||||
"outputFile": "wwwroot/css/basket/basket-status/basket-status.component.css", |
|
||||
"inputFile": "wwwroot/css/basket/basket-status/basket-status.component.scss" |
|
||||
}, |
|
||||
//{ |
|
||||
// "outputFile": "wwwroot/css/shared/components/header/header.css", |
|
||||
// "inputFile": "wwwroot/css/shared/components/header/header.scss" |
|
||||
//}, |
|
||||
//{ |
|
||||
// "outputFile": "wwwroot/css/shared/components/identity/identity.css", |
|
||||
// "inputFile": "wwwroot/css/shared/components/identity/identity.scss" |
|
||||
//}, |
|
||||
//{ |
|
||||
// "outputFile": "wwwroot/css/shared/components/pager/pager.css", |
|
||||
// "inputFile": "wwwroot/css/shared/components/pager/pager.scss" |
|
||||
//}, |
|
||||
{ |
|
||||
"outputFile": "wwwroot/css/app.component.css", |
|
||||
"inputFile": "wwwroot/css/app.component.scss" |
|
||||
} |
|
||||
] |
|
||||
@ -0,0 +1,3 @@ |
|||||
|
@{ |
||||
|
Layout = "/Pages/Shared/_Layout.cshtml"; |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
using Microsoft.AspNetCore.Identity.EntityFrameworkCore; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
|
||||
|
namespace WebRazorPages.Data |
||||
|
{ |
||||
|
public class ApplicationDbContext : IdentityDbContext |
||||
|
{ |
||||
|
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) |
||||
|
: base(options) |
||||
|
{ |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,236 @@ |
|||||
|
// <auto-generated />
|
||||
|
using System; |
||||
|
using WebRazorPages.Data; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using Microsoft.EntityFrameworkCore.Infrastructure; |
||||
|
using Microsoft.EntityFrameworkCore.Metadata; |
||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
||||
|
|
||||
|
namespace WebRazorPages.Data.Migrations |
||||
|
{ |
||||
|
[DbContext(typeof(ApplicationDbContext))] |
||||
|
[Migration("00000000000000_CreateIdentitySchema")] |
||||
|
partial class CreateIdentitySchema |
||||
|
{ |
||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
||||
|
{ |
||||
|
#pragma warning disable 612, 618
|
||||
|
modelBuilder |
||||
|
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedName") |
||||
|
.IsUnique() |
||||
|
.HasName("RoleNameIndex") |
||||
|
.HasFilter("[NormalizedName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("RoleId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetRoleClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<int>("AccessFailedCount"); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Email") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<bool>("EmailConfirmed"); |
||||
|
|
||||
|
b.Property<bool>("LockoutEnabled"); |
||||
|
|
||||
|
b.Property<DateTimeOffset?>("LockoutEnd"); |
||||
|
|
||||
|
b.Property<string>("NormalizedEmail") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedUserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("PasswordHash"); |
||||
|
|
||||
|
b.Property<string>("PhoneNumber"); |
||||
|
|
||||
|
b.Property<bool>("PhoneNumberConfirmed"); |
||||
|
|
||||
|
b.Property<string>("SecurityStamp"); |
||||
|
|
||||
|
b.Property<bool>("TwoFactorEnabled"); |
||||
|
|
||||
|
b.Property<string>("UserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedEmail") |
||||
|
.HasName("EmailIndex"); |
||||
|
|
||||
|
b.HasIndex("NormalizedUserName") |
||||
|
.IsUnique() |
||||
|
.HasName("UserNameIndex") |
||||
|
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetUsers"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderKey") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderDisplayName"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("LoginProvider", "ProviderKey"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserLogins"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("RoleId"); |
||||
|
|
||||
|
b.HasKey("UserId", "RoleId"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Value"); |
||||
|
|
||||
|
b.HasKey("UserId", "LoginProvider", "Name"); |
||||
|
|
||||
|
b.ToTable("AspNetUserTokens"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
|
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
#pragma warning restore 612, 618
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,220 @@ |
|||||
|
using System; |
||||
|
using Microsoft.EntityFrameworkCore.Metadata; |
||||
|
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
|
||||
|
namespace WebRazorPages.Data.Migrations |
||||
|
{ |
||||
|
public partial class CreateIdentitySchema : Migration |
||||
|
{ |
||||
|
protected override void Up(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetRoles", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<string>(nullable: false), |
||||
|
Name = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
NormalizedName = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetRoles", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUsers", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<string>(nullable: false), |
||||
|
UserName = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
Email = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true), |
||||
|
EmailConfirmed = table.Column<bool>(nullable: false), |
||||
|
PasswordHash = table.Column<string>(nullable: true), |
||||
|
SecurityStamp = table.Column<string>(nullable: true), |
||||
|
ConcurrencyStamp = table.Column<string>(nullable: true), |
||||
|
PhoneNumber = table.Column<string>(nullable: true), |
||||
|
PhoneNumberConfirmed = table.Column<bool>(nullable: false), |
||||
|
TwoFactorEnabled = table.Column<bool>(nullable: false), |
||||
|
LockoutEnd = table.Column<DateTimeOffset>(nullable: true), |
||||
|
LockoutEnabled = table.Column<bool>(nullable: false), |
||||
|
AccessFailedCount = table.Column<int>(nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUsers", x => x.Id); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetRoleClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<int>(nullable: false) |
||||
|
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
||||
|
RoleId = table.Column<string>(nullable: false), |
||||
|
ClaimType = table.Column<string>(nullable: true), |
||||
|
ClaimValue = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", |
||||
|
column: x => x.RoleId, |
||||
|
principalTable: "AspNetRoles", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserClaims", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
Id = table.Column<int>(nullable: false) |
||||
|
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
||||
|
UserId = table.Column<string>(nullable: false), |
||||
|
ClaimType = table.Column<string>(nullable: true), |
||||
|
ClaimValue = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserClaims_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserLogins", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
ProviderKey = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
ProviderDisplayName = table.Column<string>(nullable: true), |
||||
|
UserId = table.Column<string>(nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserLogins_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserRoles", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
UserId = table.Column<string>(nullable: false), |
||||
|
RoleId = table.Column<string>(nullable: false) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserRoles_AspNetRoles_RoleId", |
||||
|
column: x => x.RoleId, |
||||
|
principalTable: "AspNetRoles", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserRoles_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateTable( |
||||
|
name: "AspNetUserTokens", |
||||
|
columns: table => new |
||||
|
{ |
||||
|
UserId = table.Column<string>(nullable: false), |
||||
|
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
Name = table.Column<string>(maxLength: 128, nullable: false), |
||||
|
Value = table.Column<string>(nullable: true) |
||||
|
}, |
||||
|
constraints: table => |
||||
|
{ |
||||
|
table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); |
||||
|
table.ForeignKey( |
||||
|
name: "FK_AspNetUserTokens_AspNetUsers_UserId", |
||||
|
column: x => x.UserId, |
||||
|
principalTable: "AspNetUsers", |
||||
|
principalColumn: "Id", |
||||
|
onDelete: ReferentialAction.Cascade); |
||||
|
}); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetRoleClaims_RoleId", |
||||
|
table: "AspNetRoleClaims", |
||||
|
column: "RoleId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "RoleNameIndex", |
||||
|
table: "AspNetRoles", |
||||
|
column: "NormalizedName", |
||||
|
unique: true, |
||||
|
filter: "[NormalizedName] IS NOT NULL"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetUserClaims_UserId", |
||||
|
table: "AspNetUserClaims", |
||||
|
column: "UserId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetUserLogins_UserId", |
||||
|
table: "AspNetUserLogins", |
||||
|
column: "UserId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "IX_AspNetUserRoles_RoleId", |
||||
|
table: "AspNetUserRoles", |
||||
|
column: "RoleId"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "EmailIndex", |
||||
|
table: "AspNetUsers", |
||||
|
column: "NormalizedEmail"); |
||||
|
|
||||
|
migrationBuilder.CreateIndex( |
||||
|
name: "UserNameIndex", |
||||
|
table: "AspNetUsers", |
||||
|
column: "NormalizedUserName", |
||||
|
unique: true, |
||||
|
filter: "[NormalizedUserName] IS NOT NULL"); |
||||
|
} |
||||
|
|
||||
|
protected override void Down(MigrationBuilder migrationBuilder) |
||||
|
{ |
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetRoleClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserClaims"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserLogins"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserRoles"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUserTokens"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetRoles"); |
||||
|
|
||||
|
migrationBuilder.DropTable( |
||||
|
name: "AspNetUsers"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,234 @@ |
|||||
|
// <auto-generated />
|
||||
|
using System; |
||||
|
using WebRazorPages.Data; |
||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using Microsoft.EntityFrameworkCore.Infrastructure; |
||||
|
using Microsoft.EntityFrameworkCore.Metadata; |
||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
||||
|
|
||||
|
namespace WebRazorPages.Data.Migrations |
||||
|
{ |
||||
|
[DbContext(typeof(ApplicationDbContext))] |
||||
|
partial class ApplicationDbContextModelSnapshot : ModelSnapshot |
||||
|
{ |
||||
|
protected override void BuildModel(ModelBuilder modelBuilder) |
||||
|
{ |
||||
|
#pragma warning disable 612, 618
|
||||
|
modelBuilder |
||||
|
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedName") |
||||
|
.IsUnique() |
||||
|
.HasName("RoleNameIndex") |
||||
|
.HasFilter("[NormalizedName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("RoleId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetRoleClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
||||
|
{ |
||||
|
b.Property<string>("Id") |
||||
|
.ValueGeneratedOnAdd(); |
||||
|
|
||||
|
b.Property<int>("AccessFailedCount"); |
||||
|
|
||||
|
b.Property<string>("ConcurrencyStamp") |
||||
|
.IsConcurrencyToken(); |
||||
|
|
||||
|
b.Property<string>("Email") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<bool>("EmailConfirmed"); |
||||
|
|
||||
|
b.Property<bool>("LockoutEnabled"); |
||||
|
|
||||
|
b.Property<DateTimeOffset?>("LockoutEnd"); |
||||
|
|
||||
|
b.Property<string>("NormalizedEmail") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("NormalizedUserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.Property<string>("PasswordHash"); |
||||
|
|
||||
|
b.Property<string>("PhoneNumber"); |
||||
|
|
||||
|
b.Property<bool>("PhoneNumberConfirmed"); |
||||
|
|
||||
|
b.Property<string>("SecurityStamp"); |
||||
|
|
||||
|
b.Property<bool>("TwoFactorEnabled"); |
||||
|
|
||||
|
b.Property<string>("UserName") |
||||
|
.HasMaxLength(256); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("NormalizedEmail") |
||||
|
.HasName("EmailIndex"); |
||||
|
|
||||
|
b.HasIndex("NormalizedUserName") |
||||
|
.IsUnique() |
||||
|
.HasName("UserNameIndex") |
||||
|
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
||||
|
|
||||
|
b.ToTable("AspNetUsers"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.Property<int>("Id") |
||||
|
.ValueGeneratedOnAdd() |
||||
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
||||
|
|
||||
|
b.Property<string>("ClaimType"); |
||||
|
|
||||
|
b.Property<string>("ClaimValue"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("Id"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserClaims"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderKey") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("ProviderDisplayName"); |
||||
|
|
||||
|
b.Property<string>("UserId") |
||||
|
.IsRequired(); |
||||
|
|
||||
|
b.HasKey("LoginProvider", "ProviderKey"); |
||||
|
|
||||
|
b.HasIndex("UserId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserLogins"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("RoleId"); |
||||
|
|
||||
|
b.HasKey("UserId", "RoleId"); |
||||
|
|
||||
|
b.HasIndex("RoleId"); |
||||
|
|
||||
|
b.ToTable("AspNetUserRoles"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.Property<string>("UserId"); |
||||
|
|
||||
|
b.Property<string>("LoginProvider") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Name") |
||||
|
.HasMaxLength(128); |
||||
|
|
||||
|
b.Property<string>("Value"); |
||||
|
|
||||
|
b.HasKey("UserId", "LoginProvider", "Name"); |
||||
|
|
||||
|
b.ToTable("AspNetUserTokens"); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("RoleId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
|
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
|
||||
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
||||
|
{ |
||||
|
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
||||
|
.WithMany() |
||||
|
.HasForeignKey("UserId") |
||||
|
.OnDelete(DeleteBehavior.Cascade); |
||||
|
}); |
||||
|
#pragma warning restore 612, 618
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,8 @@ |
|||||
|
@page |
||||
|
@model PrivacyModel |
||||
|
@{ |
||||
|
ViewData["Title"] = "Privacy Policy"; |
||||
|
} |
||||
|
<h1>@ViewData["Title"]</h1> |
||||
|
|
||||
|
<p>Use this page to detail your site's privacy policy.</p> |
||||
@ -0,0 +1,11 @@ |
|||||
|
using Microsoft.AspNetCore.Mvc.RazorPages; |
||||
|
|
||||
|
namespace Microsoft.eShopWeb.RazorPages.Pages |
||||
|
{ |
||||
|
public class PrivacyModel : PageModel |
||||
|
{ |
||||
|
public void OnGet() |
||||
|
{ |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
@using Microsoft.AspNetCore.Http.Features |
||||
|
|
||||
|
@{ |
||||
|
var consentFeature = Context.Features.Get<ITrackingConsentFeature>(); |
||||
|
var showBanner = !consentFeature?.CanTrack ?? false; |
||||
|
var cookieString = consentFeature?.CreateConsentCookie(); |
||||
|
} |
||||
|
|
||||
|
@if (showBanner) |
||||
|
{ |
||||
|
<div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert"> |
||||
|
Use this space to summarize your privacy and cookie use policy. <a asp-page="/Privacy">Learn More</a>. |
||||
|
<button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString"> |
||||
|
<span aria-hidden="true">Accept</span> |
||||
|
</button> |
||||
|
</div> |
||||
|
<script> |
||||
|
(function () { |
||||
|
var button = document.querySelector("#cookieConsent button[data-cookie-string]"); |
||||
|
button.addEventListener("click", function (event) { |
||||
|
document.cookie = button.dataset.cookieString; |
||||
|
}, false); |
||||
|
})(); |
||||
|
</script> |
||||
|
} |
||||
@ -1,61 +1,56 @@ |
|||||
|
@inject SignInManager<ApplicationUser> SignInManager |
||||
|
@inject UserManager<ApplicationUser> UserManager |
||||
@if (Context.User.Identity.IsAuthenticated) |
@if (Context.User.Identity.IsAuthenticated) |
||||
{ |
{ |
||||
<section class="col-lg-4 col-md-5 col-xs-12"> |
<section class="col-lg-4 col-md-5 col-xs-12"> |
||||
<div class="esh-identity"> |
<div class="esh-identity"> |
||||
<form asp-controller="Account" asp-action="Logout" method="post" |
<form asp-controller="Account" asp-action="Logout" method="post" |
||||
id="logoutForm" class="navbar-right"> |
id="logoutForm" class="navbar-right"> |
||||
<section class="esh-identity-section"> |
<section class="esh-identity-section"> |
||||
@*<div class="esh-identity-name">@User.FindFirst(x => x.Type == "preferred_username").Value</div>*@ |
@*<div class="esh-identity-name">@User.FindFirst(x => x.Type == "preferred_username").Value</div>*@ |
||||
<img class="esh-identity-image" src="~/images/arrow-down.png"> |
<img class="esh-identity-image" src="~/images/arrow-down.png"> |
||||
</section> |
</section> |
||||
|
<section class="esh-identity-drop"> |
||||
<section class="esh-identity-drop"> |
<a class="esh-identity-item" |
||||
<a class="esh-identity-item" |
asp-page="/Order/Index"> |
||||
asp-page="/Order/Index"> |
<div class="esh-identity-name esh-identity-name--upper">My orders</div> |
||||
|
<img class="esh-identity-image" src="~/images/my_orders.png"> |
||||
<div class="esh-identity-name esh-identity-name--upper">My orders</div> |
</a> |
||||
<img class="esh-identity-image" src="~/images/my_orders.png"> |
<a class="esh-identity-item" |
||||
</a> |
asp-page="/Account/Manage/Index"> |
||||
|
<div class="esh-identity-name esh-identity-name--upper">My account</div> |
||||
<a class="esh-identity-item" |
<img class="esh-identity-image" src="~/images/my_orders.png"> |
||||
asp-page="/Account/Manage/Index"> |
</a> |
||||
|
<a class="esh-identity-item" |
||||
<div class="esh-identity-name esh-identity-name--upper">My account</div> |
href="javascript:document.getElementById('logoutForm').submit()"> |
||||
<img class="esh-identity-image" src="~/images/my_orders.png"> |
<div class="esh-identity-name esh-identity-name--upper">Log Out</div> |
||||
</a> |
<img class="esh-identity-image" src="~/images/logout.png"> |
||||
|
</a> |
||||
|
</section> |
||||
<a class="esh-identity-item" |
</form> |
||||
href="javascript:document.getElementById('logoutForm').submit()"> |
</div> |
||||
<div class="esh-identity-name esh-identity-name--upper">Log Out</div> |
</section> |
||||
<img class="esh-identity-image" src="~/images/logout.png"> |
|
||||
</a> |
|
||||
</section> |
|
||||
</form> |
|
||||
</div> |
|
||||
</section> |
|
||||
|
|
||||
<section class="col-lg-1 col-xs-12"> |
<section class="col-lg-1 col-xs-12"> |
||||
@await Component.InvokeAsync("Basket") |
@await Component.InvokeAsync("Basket") |
||||
</section> |
</section> |
||||
|
|
||||
} |
} |
||||
else |
else |
||||
{ |
{ |
||||
<section class="col-lg-1 col-lg-offset-3 col-md-3 col-xs-6"> |
<section class="col-lg-1 col-lg-offset-3 col-md-3 col-xs-6"> |
||||
<div class="esh-identity"> |
<div class="esh-identity"> |
||||
<section class="esh-identity-section"> |
<section class="esh-identity-section"> |
||||
<div class="esh-identity-item"> |
<div class="esh-identity-item"> |
||||
|
<a asp-page="/Account/Signin" class="esh-identity-name esh-identity-name--upper"> |
||||
<a asp-page="/Account/Signin" class="esh-identity-name esh-identity-name--upper"> |
Login |
||||
Login |
</a> |
||||
</a> |
</div> |
||||
</div> |
</section> |
||||
</section> |
</div> |
||||
</div> |
</section> |
||||
</section> |
|
||||
|
<section class="col-lg-1 col-xs-12"> |
||||
<section class="col-lg-1 col-xs-12"> |
@await Component.InvokeAsync("Basket") |
||||
@await Component.InvokeAsync("Basket") |
</section> |
||||
</section> |
|
||||
} |
} |
||||
|
|||||
@ -1,6 +1,6 @@ |
|||||
@using Microsoft.eShopWeb.RazorPages |
@using Microsoft.eShopWeb.RazorPages |
||||
@using Microsoft.eShopWeb.RazorPages.ViewModels |
@using Microsoft.eShopWeb.RazorPages.ViewModels |
||||
@using Microsoft.AspNetCore.Identity |
@using Microsoft.AspNetCore.Identity |
||||
@using Microsoft.eShopWeb.Infrastructure.Identity |
@using Microsoft.eShopWeb.Infrastructure.Identity |
||||
@namespace Microsoft.eShopWeb.RazorPages.Pages |
@namespace Microsoft.eShopWeb.RazorPages.Pages |
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
||||
|
|||||
@ -1,16 +1,27 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk.Web"> |
<Project Sdk="Microsoft.NET.Sdk.Web"> |
||||
<PropertyGroup> |
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework> |
<PropertyGroup> |
||||
<RootNamespace>Microsoft.eShopWeb.RazorPages</RootNamespace> |
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
<AssemblyName>Microsoft.eShopWeb.RazorPages</AssemblyName> |
<RootNamespace>Microsoft.eShopWeb.RazorPages</RootNamespace> |
||||
<DockerTargetOS>Linux</DockerTargetOS> |
<AssemblyName>Microsoft.eShopWeb.RazorPages</AssemblyName> |
||||
<UserSecretsId>231ddc1b-6787-4704-a0c0-18df6a022660</UserSecretsId> |
<DockerTargetOS>Linux</DockerTargetOS> |
||||
</PropertyGroup> |
<UserSecretsId>aspnet-WebRazorPages-6B1EFE4D-B682-4543-93F5-69EE95000B1D</UserSecretsId> |
||||
<ItemGroup> |
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> |
||||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" /> |
</PropertyGroup> |
||||
</ItemGroup> |
|
||||
<ItemGroup> |
|
||||
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" /> |
<ItemGroup> |
||||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" /> |
<PackageReference Include="Microsoft.AspNetCore.App" /> |
||||
</ItemGroup> |
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" /> |
||||
|
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" /> |
||||
|
</ItemGroup> |
||||
|
<ItemGroup> |
||||
|
<Content Update="Pages\Shared\_LoginPartial.cshtml"> |
||||
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
||||
|
</Content> |
||||
|
</ItemGroup> |
||||
|
|
||||
</Project> |
</Project> |
||||
|
|||||
@ -1,8 +1,11 @@ |
|||||
{ |
{ |
||||
|
"ConnectionStrings": { |
||||
|
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-WebRazorPages-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true" |
||||
|
}, |
||||
"Logging": { |
"Logging": { |
||||
"IncludeScopes": false, |
|
||||
"LogLevel": { |
"LogLevel": { |
||||
"Default": "Warning" |
"Default": "Warning" |
||||
} |
} |
||||
} |
}, |
||||
|
"AllowedHosts": "*" |
||||
} |
} |
||||
|
|||||
@ -1,26 +1,32 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk"> |
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
<PropertyGroup> |
<PropertyGroup> |
||||
<TargetFramework>netcoreapp2.1</TargetFramework> |
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
<RootNamespace>Microsoft.eShopWeb.FunctionalTests</RootNamespace> |
<RootNamespace>Microsoft.eShopWeb.FunctionalTests</RootNamespace> |
||||
</PropertyGroup> |
<IsPackable>false</IsPackable> |
||||
|
</PropertyGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.1.2" /> |
<PackageReference Include="Microsoft.AspNetCore.App" /> |
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" /> |
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.2.0" /> |
||||
<PackageReference Include="xunit" Version="2.3.1" /> |
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> |
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" /> |
<PackageReference Include="xunit" Version="2.4.1" /> |
||||
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" /> |
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> |
||||
</ItemGroup> |
<PrivateAssets>all</PrivateAssets> |
||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
||||
|
</PackageReference> |
||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="2.2.0" /> |
||||
|
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<ProjectReference Include="..\..\src\ApplicationCore\ApplicationCore.csproj" /> |
<ProjectReference Include="..\..\src\ApplicationCore\ApplicationCore.csproj" /> |
||||
<ProjectReference Include="..\..\src\WebRazorPages\WebRazorPages.csproj" /> |
<ProjectReference Include="..\..\src\Web\Web.csproj" /> |
||||
<ProjectReference Include="..\..\src\Web\Web.csproj" /> |
<ProjectReference Include="..\..\src\WebRazorPages\WebRazorPages.csproj" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> |
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
|
|
||||
</Project> |
</Project> |
||||
|
|||||
@ -1,25 +1,29 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk"> |
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
<PropertyGroup> |
<PropertyGroup> |
||||
<TargetFramework>netcoreapp2.1</TargetFramework> |
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
<RootNamespace>Microsoft.eShopWeb.IntegrationTests</RootNamespace> |
<RootNamespace>Microsoft.eShopWeb.IntegrationTests</RootNamespace> |
||||
</PropertyGroup> |
<IsPackable>false</IsPackable> |
||||
|
</PropertyGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" /> |
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="2.2.0" /> |
||||
<PackageReference Include="xunit" Version="2.3.1" /> |
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> |
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" /> |
<PackageReference Include="Moq" Version="4.10.1" /> |
||||
<PackageReference Include="Moq" Version="4.8.2" /> |
<PackageReference Include="xunit" Version="2.4.1" /> |
||||
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> |
||||
|
<PrivateAssets>all</PrivateAssets> |
||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
||||
|
</PackageReference> |
||||
|
</ItemGroup> |
||||
|
|
||||
</ItemGroup> |
<ItemGroup> |
||||
|
<ProjectReference Include="..\..\src\Infrastructure\Infrastructure.csproj" /> |
||||
|
<ProjectReference Include="..\UnitTests\UnitTests.csproj" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<ProjectReference Include="..\..\src\Web\Web.csproj" /> |
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> |
||||
<ProjectReference Include="..\UnitTests\UnitTests.csproj" /> |
</ItemGroup> |
||||
</ItemGroup> |
|
||||
|
|
||||
<ItemGroup> |
|
||||
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> |
|
||||
</ItemGroup> |
|
||||
|
|
||||
</Project> |
</Project> |
||||
|
|||||
@ -1,26 +1,32 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk"> |
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
<PropertyGroup> |
<PropertyGroup> |
||||
<TargetFramework>netcoreapp2.1</TargetFramework> |
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
<RootNamespace>Microsoft.eShopWeb.UnitTests</RootNamespace> |
<RootNamespace>Microsoft.eShopWeb.UnitTests</RootNamespace> |
||||
</PropertyGroup> |
<IsPackable>false</IsPackable> |
||||
|
</PropertyGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" /> |
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" /> |
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" /> |
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> |
||||
<PackageReference Include="Moq" Version="4.8.2" /> |
<PackageReference Include="Moq" Version="4.10.1" /> |
||||
<PackageReference Include="xunit" Version="2.3.1" /> |
<PackageReference Include="xunit" Version="2.4.1" /> |
||||
<PackageReference Include="xunit.runner.console" Version="2.3.1" /> |
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1"> |
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" /> |
<PrivateAssets>all</PrivateAssets> |
||||
</ItemGroup> |
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
||||
|
</PackageReference> |
||||
|
<PackageReference Include="xunit.runner.console" Version="2.4.1"> |
||||
|
<PrivateAssets>all</PrivateAssets> |
||||
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> |
||||
|
</PackageReference> |
||||
|
</ItemGroup> |
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<ProjectReference Include="..\..\src\ApplicationCore\ApplicationCore.csproj" /> |
<ProjectReference Include="..\..\src\ApplicationCore\ApplicationCore.csproj" /> |
||||
<ProjectReference Include="..\..\src\Web\Web.csproj" /> |
</ItemGroup> |
||||
</ItemGroup> |
|
||||
|
|
||||
<ItemGroup> |
<ItemGroup> |
||||
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> |
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> |
||||
</ItemGroup> |
</ItemGroup> |
||||
|
|
||||
</Project> |
</Project> |
||||
|
|||||
@ -0,0 +1,14 @@ |
|||||
|
using System; |
||||
|
using Xunit; |
||||
|
|
||||
|
namespace XUnitTestProject1 |
||||
|
{ |
||||
|
public class UnitTest1 |
||||
|
{ |
||||
|
[Fact] |
||||
|
public void Test1() |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,15 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>netcoreapp2.2</TargetFramework> |
||||
|
|
||||
|
<IsPackable>false</IsPackable> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> |
||||
|
<PackageReference Include="xunit" Version="2.4.0" /> |
||||
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
||||
Loading…
Reference in new issue