diff --git a/WebDoorCreator.Data/Migrations/WDCData/20230310154643_InitOrderAndDoorData.Designer.cs b/WebDoorCreator.Data/Migrations/WDCData/20230313075917_initDbOrderDoors.Designer.cs similarity index 68% rename from WebDoorCreator.Data/Migrations/WDCData/20230310154643_InitOrderAndDoorData.Designer.cs rename to WebDoorCreator.Data/Migrations/WDCData/20230313075917_initDbOrderDoors.Designer.cs index b138168..281099d 100644 --- a/WebDoorCreator.Data/Migrations/WDCData/20230310154643_InitOrderAndDoorData.Designer.cs +++ b/WebDoorCreator.Data/Migrations/WDCData/20230313075917_initDbOrderDoors.Designer.cs @@ -12,8 +12,8 @@ using WebDoorCreator.Data; namespace WebDoorCreator.Data.Migrations.WDCData { [DbContext(typeof(WDCDataContext))] - [Migration("20230310154643_InitOrderAndDoorData")] - partial class InitOrderAndDoorData + [Migration("20230313075917_initDbOrderDoors")] + partial class initDbOrderDoors { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -46,43 +46,43 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasData( new { - Id = "c1d3f4d1-fec6-437b-8f75-6f755876107f", - ConcurrencyStamp = "cadae6de-4505-4a46-a6e5-91199383be97", + Id = "087539dd-8021-4d50-8afd-beb97aa883d3", + ConcurrencyStamp = "9bef9247-c370-4321-b1ea-3dd634aad734", Name = "Undef", NormalizedName = "UNDEF" }, new { - Id = "03ff2b29-e41c-4c44-a0ed-94c3a50dcf4e", - ConcurrencyStamp = "ab6bc28f-c0f0-4510-92d4-28cbda7fbc9c", + Id = "695e212d-f79c-45dd-931d-6390c4533c6e", + ConcurrencyStamp = "a4788fda-3f24-41dc-b492-a621de69f031", Name = "SuperAdmin", NormalizedName = "SUPERADMIN" }, new { - Id = "3e082071-8615-4a6c-9e56-ffaa8396562e", - ConcurrencyStamp = "5c9d65cf-7b96-4025-83a6-2ff34ed0be3f", + Id = "851dd9d6-570c-48b0-ac48-e494c5fac5d7", + ConcurrencyStamp = "13d724e3-b415-4719-8387-e21952306ce3", Name = "Admin", NormalizedName = "ADMIN" }, new { - Id = "00aced5d-3701-4a20-909c-10463525590a", - ConcurrencyStamp = "2a94d772-a2f3-48e3-acc5-f2a579a83f77", + Id = "246c1608-059d-4f2b-98b2-f57ab47de3b7", + ConcurrencyStamp = "1b81eff5-4ff6-4756-9bb5-983869fd4b41", Name = "CompAdmin", NormalizedName = "COMPADMIN" }, new { - Id = "00c5ee6b-6a20-4988-b3d7-0aeed2962295", - ConcurrencyStamp = "dd6f330c-4ea8-4605-8901-93c256d624f9", + Id = "805c6051-0372-4e2b-9b94-f5c8881ef7cb", + ConcurrencyStamp = "a73832bd-be3e-4a48-8b0a-475c8930b4c5", Name = "CompUser", NormalizedName = "COMPUSER" }, new { - Id = "bcea39ac-0440-43ba-b7c4-f8107851eb9c", - ConcurrencyStamp = "d10cc6de-fa3b-467d-be0c-226eb6470649", + Id = "d0cafb49-7d19-4d4f-a280-6837e5842e8b", + ConcurrencyStamp = "7f94eb48-1f91-4e88-bae6-bb655dba168b", Name = "User", NormalizedName = "USER" }); @@ -144,6 +144,78 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.ToTable("Company"); }); + modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorModel", b => + { + b.Property("DoorId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DoorId"), 1L, 1); + + b.Property("DateIns") + .HasColumnType("datetime2"); + + b.Property("DateMod") + .HasColumnType("datetime2"); + + b.Property("DoorDescript") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DoorExtCode") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrderId") + .HasColumnType("int"); + + b.Property("Quantity") + .HasColumnType("int"); + + b.Property("TypeId") + .HasColumnType("int"); + + b.Property("UnitCost") + .HasColumnType("decimal(18,2)"); + + b.Property("UserIdIns") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserIdMod") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("DoorId"); + + b.HasIndex("OrderId"); + + b.HasIndex("TypeId"); + + b.ToTable("Door"); + }); + + modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorTypeModel", b => + { + b.Property("TypeId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TypeId"), 1L, 1); + + b.Property("Description") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TypeCode") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("TypeId"); + + b.ToTable("DoorType"); + }); + modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderModel", b => { b.Property("OrderId") @@ -207,7 +279,7 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasKey("Id"); - b.ToTable("DbSetRoles"); + b.ToTable("RolesModel", null, t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("WebDoorCreator.Data.DbModels.UserRolesModel", b => @@ -220,7 +292,7 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasKey("UserId", "RoleId"); - b.ToTable("DbSetUserRoles"); + b.ToTable("UserRolesModel", null, t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("WebDoorCreator.Data.DbModels.UsersModel", b => @@ -281,7 +353,26 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasKey("Id"); - b.ToTable("DbSetUsers"); + b.ToTable("UsersModel", null, t => t.ExcludeFromMigrations()); + }); + + modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorModel", b => + { + b.HasOne("WebDoorCreator.Data.DbModels.OrderModel", "OrderNav") + .WithMany() + .HasForeignKey("OrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WebDoorCreator.Data.DbModels.DoorTypeModel", "TypeNav") + .WithMany() + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OrderNav"); + + b.Navigation("TypeNav"); }); modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderModel", b => diff --git a/WebDoorCreator.Data/Migrations/WDCData/20230310154643_InitOrderAndDoorData.cs b/WebDoorCreator.Data/Migrations/WDCData/20230313075917_initDbOrderDoors.cs similarity index 51% rename from WebDoorCreator.Data/Migrations/WDCData/20230310154643_InitOrderAndDoorData.cs rename to WebDoorCreator.Data/Migrations/WDCData/20230313075917_initDbOrderDoors.cs index 2ff3d59..f21a264 100644 --- a/WebDoorCreator.Data/Migrations/WDCData/20230310154643_InitOrderAndDoorData.cs +++ b/WebDoorCreator.Data/Migrations/WDCData/20230313075917_initDbOrderDoors.cs @@ -5,59 +5,22 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace WebDoorCreator.Data.Migrations.WDCData { - public partial class InitOrderAndDoorData : Migration + public partial class initDbOrderDoors : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( - name: "DbSetRoles", + name: "DoorType", columns: table => new { - Id = table.Column(type: "nvarchar(450)", nullable: false), - Name = table.Column(type: "nvarchar(max)", nullable: false), - NormalizedName = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: false) + TypeId = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + TypeCode = table.Column(type: "nvarchar(max)", nullable: false), + Description = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { - table.PrimaryKey("PK_DbSetRoles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "DbSetUserRoles", - columns: table => new - { - UserId = table.Column(type: "nvarchar(450)", nullable: false), - RoleId = table.Column(type: "nvarchar(450)", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_DbSetUserRoles", x => new { x.UserId, x.RoleId }); - }); - - migrationBuilder.CreateTable( - name: "DbSetUsers", - columns: table => new - { - Id = table.Column(type: "nvarchar(450)", nullable: false), - UserName = table.Column(type: "nvarchar(max)", nullable: false), - NormalizedUserName = table.Column(type: "nvarchar(max)", nullable: false), - Email = table.Column(type: "nvarchar(max)", nullable: false), - NormalizedEmail = table.Column(type: "nvarchar(max)", nullable: false), - EmailConfirmed = table.Column(type: "bit", nullable: false), - PasswordHash = table.Column(type: "nvarchar(max)", nullable: false), - SecurityStamp = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: false), - PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false), - PhoneNumberConfirmed = table.Column(type: "bit", nullable: false), - TwoFactorEnabled = table.Column(type: "bit", nullable: false), - LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), - LockoutEnabled = table.Column(type: "bit", nullable: false), - AccessFailedCount = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_DbSetUsers", x => x.Id); + table.PrimaryKey("PK_DoorType", x => x.TypeId); }); migrationBuilder.CreateTable( @@ -100,19 +63,63 @@ namespace WebDoorCreator.Data.Migrations.WDCData onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "Door", + columns: table => new + { + DoorId = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + OrderId = table.Column(type: "int", nullable: false), + TypeId = table.Column(type: "int", nullable: false), + DoorExtCode = table.Column(type: "nvarchar(max)", nullable: false), + DateIns = table.Column(type: "datetime2", nullable: false), + UserIdIns = table.Column(type: "nvarchar(max)", nullable: false), + DateMod = table.Column(type: "datetime2", nullable: false), + UserIdMod = table.Column(type: "nvarchar(max)", nullable: false), + DoorDescript = table.Column(type: "nvarchar(max)", nullable: false), + Quantity = table.Column(type: "int", nullable: false), + UnitCost = table.Column(type: "decimal(18,2)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Door", x => x.DoorId); + table.ForeignKey( + name: "FK_Door_DoorType_TypeId", + column: x => x.TypeId, + principalTable: "DoorType", + principalColumn: "TypeId", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Door_Order_OrderId", + column: x => x.OrderId, + principalTable: "Order", + principalColumn: "OrderId", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.InsertData( table: "IdentityRole", columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, values: new object[,] { - { "00aced5d-3701-4a20-909c-10463525590a", "2a94d772-a2f3-48e3-acc5-f2a579a83f77", "CompAdmin", "COMPADMIN" }, - { "00c5ee6b-6a20-4988-b3d7-0aeed2962295", "dd6f330c-4ea8-4605-8901-93c256d624f9", "CompUser", "COMPUSER" }, - { "03ff2b29-e41c-4c44-a0ed-94c3a50dcf4e", "ab6bc28f-c0f0-4510-92d4-28cbda7fbc9c", "SuperAdmin", "SUPERADMIN" }, - { "3e082071-8615-4a6c-9e56-ffaa8396562e", "5c9d65cf-7b96-4025-83a6-2ff34ed0be3f", "Admin", "ADMIN" }, - { "bcea39ac-0440-43ba-b7c4-f8107851eb9c", "d10cc6de-fa3b-467d-be0c-226eb6470649", "User", "USER" }, - { "c1d3f4d1-fec6-437b-8f75-6f755876107f", "cadae6de-4505-4a46-a6e5-91199383be97", "Undef", "UNDEF" } + { "087539dd-8021-4d50-8afd-beb97aa883d3", "9bef9247-c370-4321-b1ea-3dd634aad734", "Undef", "UNDEF" }, + { "246c1608-059d-4f2b-98b2-f57ab47de3b7", "1b81eff5-4ff6-4756-9bb5-983869fd4b41", "CompAdmin", "COMPADMIN" }, + { "695e212d-f79c-45dd-931d-6390c4533c6e", "a4788fda-3f24-41dc-b492-a621de69f031", "SuperAdmin", "SUPERADMIN" }, + { "805c6051-0372-4e2b-9b94-f5c8881ef7cb", "a73832bd-be3e-4a48-8b0a-475c8930b4c5", "CompUser", "COMPUSER" }, + { "851dd9d6-570c-48b0-ac48-e494c5fac5d7", "13d724e3-b415-4719-8387-e21952306ce3", "Admin", "ADMIN" }, + { "d0cafb49-7d19-4d4f-a280-6837e5842e8b", "7f94eb48-1f91-4e88-bae6-bb655dba168b", "User", "USER" } }); + migrationBuilder.CreateIndex( + name: "IX_Door_OrderId", + table: "Door", + column: "OrderId"); + + migrationBuilder.CreateIndex( + name: "IX_Door_TypeId", + table: "Door", + column: "TypeId"); + migrationBuilder.CreateIndex( name: "IX_Order_CompanyId", table: "Order", @@ -122,17 +129,14 @@ namespace WebDoorCreator.Data.Migrations.WDCData protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( - name: "DbSetRoles"); - - migrationBuilder.DropTable( - name: "DbSetUserRoles"); - - migrationBuilder.DropTable( - name: "DbSetUsers"); + name: "Door"); migrationBuilder.DropTable( name: "IdentityRole"); + migrationBuilder.DropTable( + name: "DoorType"); + migrationBuilder.DropTable( name: "Order"); } diff --git a/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs b/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs index 25ed598..b94326e 100644 --- a/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs +++ b/WebDoorCreator.Data/Migrations/WDCData/WDCDataContextModelSnapshot.cs @@ -44,43 +44,43 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasData( new { - Id = "c1d3f4d1-fec6-437b-8f75-6f755876107f", - ConcurrencyStamp = "cadae6de-4505-4a46-a6e5-91199383be97", + Id = "087539dd-8021-4d50-8afd-beb97aa883d3", + ConcurrencyStamp = "9bef9247-c370-4321-b1ea-3dd634aad734", Name = "Undef", NormalizedName = "UNDEF" }, new { - Id = "03ff2b29-e41c-4c44-a0ed-94c3a50dcf4e", - ConcurrencyStamp = "ab6bc28f-c0f0-4510-92d4-28cbda7fbc9c", + Id = "695e212d-f79c-45dd-931d-6390c4533c6e", + ConcurrencyStamp = "a4788fda-3f24-41dc-b492-a621de69f031", Name = "SuperAdmin", NormalizedName = "SUPERADMIN" }, new { - Id = "3e082071-8615-4a6c-9e56-ffaa8396562e", - ConcurrencyStamp = "5c9d65cf-7b96-4025-83a6-2ff34ed0be3f", + Id = "851dd9d6-570c-48b0-ac48-e494c5fac5d7", + ConcurrencyStamp = "13d724e3-b415-4719-8387-e21952306ce3", Name = "Admin", NormalizedName = "ADMIN" }, new { - Id = "00aced5d-3701-4a20-909c-10463525590a", - ConcurrencyStamp = "2a94d772-a2f3-48e3-acc5-f2a579a83f77", + Id = "246c1608-059d-4f2b-98b2-f57ab47de3b7", + ConcurrencyStamp = "1b81eff5-4ff6-4756-9bb5-983869fd4b41", Name = "CompAdmin", NormalizedName = "COMPADMIN" }, new { - Id = "00c5ee6b-6a20-4988-b3d7-0aeed2962295", - ConcurrencyStamp = "dd6f330c-4ea8-4605-8901-93c256d624f9", + Id = "805c6051-0372-4e2b-9b94-f5c8881ef7cb", + ConcurrencyStamp = "a73832bd-be3e-4a48-8b0a-475c8930b4c5", Name = "CompUser", NormalizedName = "COMPUSER" }, new { - Id = "bcea39ac-0440-43ba-b7c4-f8107851eb9c", - ConcurrencyStamp = "d10cc6de-fa3b-467d-be0c-226eb6470649", + Id = "d0cafb49-7d19-4d4f-a280-6837e5842e8b", + ConcurrencyStamp = "7f94eb48-1f91-4e88-bae6-bb655dba168b", Name = "User", NormalizedName = "USER" }); @@ -142,6 +142,78 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.ToTable("Company"); }); + modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorModel", b => + { + b.Property("DoorId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("DoorId"), 1L, 1); + + b.Property("DateIns") + .HasColumnType("datetime2"); + + b.Property("DateMod") + .HasColumnType("datetime2"); + + b.Property("DoorDescript") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DoorExtCode") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("OrderId") + .HasColumnType("int"); + + b.Property("Quantity") + .HasColumnType("int"); + + b.Property("TypeId") + .HasColumnType("int"); + + b.Property("UnitCost") + .HasColumnType("decimal(18,2)"); + + b.Property("UserIdIns") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserIdMod") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("DoorId"); + + b.HasIndex("OrderId"); + + b.HasIndex("TypeId"); + + b.ToTable("Door"); + }); + + modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorTypeModel", b => + { + b.Property("TypeId") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("TypeId"), 1L, 1); + + b.Property("Description") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("TypeCode") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("TypeId"); + + b.ToTable("DoorType"); + }); + modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderModel", b => { b.Property("OrderId") @@ -205,7 +277,7 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasKey("Id"); - b.ToTable("DbSetRoles"); + b.ToTable("RolesModel", null, t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("WebDoorCreator.Data.DbModels.UserRolesModel", b => @@ -218,7 +290,7 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasKey("UserId", "RoleId"); - b.ToTable("DbSetUserRoles"); + b.ToTable("UserRolesModel", null, t => t.ExcludeFromMigrations()); }); modelBuilder.Entity("WebDoorCreator.Data.DbModels.UsersModel", b => @@ -279,7 +351,26 @@ namespace WebDoorCreator.Data.Migrations.WDCData b.HasKey("Id"); - b.ToTable("DbSetUsers"); + b.ToTable("UsersModel", null, t => t.ExcludeFromMigrations()); + }); + + modelBuilder.Entity("WebDoorCreator.Data.DbModels.DoorModel", b => + { + b.HasOne("WebDoorCreator.Data.DbModels.OrderModel", "OrderNav") + .WithMany() + .HasForeignKey("OrderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WebDoorCreator.Data.DbModels.DoorTypeModel", "TypeNav") + .WithMany() + .HasForeignKey("TypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OrderNav"); + + b.Navigation("TypeNav"); }); modelBuilder.Entity("WebDoorCreator.Data.DbModels.OrderModel", b => diff --git a/WebDoorCreator.Data/WDCDataContext.cs b/WebDoorCreator.Data/WDCDataContext.cs index 38cea24..14f3e17 100644 --- a/WebDoorCreator.Data/WDCDataContext.cs +++ b/WebDoorCreator.Data/WDCDataContext.cs @@ -54,6 +54,8 @@ namespace WebDoorCreator.Data public virtual DbSet DbSetUserRoles { get; set; } public virtual DbSet DbSetOrders { get; set; } + public virtual DbSet DbSetDoor { get; set; } + public virtual DbSet DbSetDoorType { get; set; } @@ -76,22 +78,11 @@ namespace WebDoorCreator.Data protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.UseCollation("Latin1_General_CI_AS"); - //foreach (var relationship in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys())) - //{ - // relationship.DeleteBehavior = DeleteBehavior.Restrict; - //} - //modelBuilder.Entity(entity => - //{ - // entity.Property(e => e.ValStd) - // .HasComment("Valore di default/riferimento per la variabile"); - //}); - - //modelBuilder.Entity().HasKey(c => new { c.TabName, c.FieldName, c.Val }); - - //modelBuilder.Entity().HasKey(c => new { c.PlantId, c.FluxType }); - - //modelBuilder.Entity().HasKey(c => new { c.PlantId, c.ParamUid }); + //Excluding user tables since they are already generated by identity + modelBuilder.Entity().ToTable(nameof(UsersModel), t => t.ExcludeFromMigrations()); + modelBuilder.Entity().ToTable(nameof(RolesModel), t => t.ExcludeFromMigrations()); + modelBuilder.Entity().ToTable(nameof(UserRolesModel), t => t.ExcludeFromMigrations()); modelBuilder.Entity().HasKey(c => new { c.UserId, c.RoleId});