diff --git a/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabase.cs b/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabase.cs index e8cfb05..1269dab 100644 --- a/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabase.cs +++ b/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabase.cs @@ -1,5 +1,5 @@ -using Microsoft.EntityFrameworkCore; -using GarmentFactoryDatabaseImplement.Models; +using GarmentFactoryDatabaseImplement.Models; +using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; @@ -14,7 +14,7 @@ namespace GarmentFactoryDatabaseImplement { if (optionsBuilder.IsConfigured == false) { - optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS;Initial Catalog=GarmentFactoryDatabaseFull;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True"); + optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS01;Initial Catalog=GarmentFactoryDatabaseFulll;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True"); } base.OnConfiguring(optionsBuilder); } diff --git a/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabaseImplement.csproj b/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabaseImplement.csproj index 9101f9a..f304cb4 100644 --- a/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabaseImplement.csproj +++ b/GarmentFactory/GarmentFactoryDatabaseImplement/GarmentFactoryDatabaseImplement.csproj @@ -1,4 +1,4 @@ -<Project Sdk="Microsoft.NET.Sdk"> +<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> diff --git a/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240319190105_InitialCreate.Designer.cs b/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240419160846_ImplementerAddition.Designer.cs similarity index 67% rename from GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240319190105_InitialCreate.Designer.cs rename to GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240419160846_ImplementerAddition.Designer.cs index 84c4a19..43b0609 100644 --- a/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240319190105_InitialCreate.Designer.cs +++ b/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240419160846_ImplementerAddition.Designer.cs @@ -12,8 +12,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace GarmentFactoryDatabaseImplement.Migrations { [DbContext(typeof(GarmentFactoryDatabase))] - [Migration("20240319190105_InitialCreate")] - partial class InitialCreate + [Migration("20240419160846_ImplementerAddition")] + partial class ImplementerAddition { /// <inheritdoc /> protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -78,6 +78,59 @@ namespace GarmentFactoryDatabaseImplement.Migrations b.ToTable("Orders"); }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Shop", b => + { + b.Property<int>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id")); + + b.Property<string>("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<DateTime>("DateOpening") + .HasColumnType("datetime2"); + + b.Property<string>("ShopName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<int>("TextilesMaximum") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Shops"); + }); + + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.ShopTextile", b => + { + b.Property<int>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id")); + + b.Property<int>("Count") + .HasColumnType("int"); + + b.Property<int>("ShopId") + .HasColumnType("int"); + + b.Property<int>("TextileId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ShopId"); + + b.HasIndex("TextileId"); + + b.ToTable("ShopTextiles"); + }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Textile", b => { b.Property<int>("Id") @@ -135,6 +188,25 @@ namespace GarmentFactoryDatabaseImplement.Migrations b.Navigation("Textile"); }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.ShopTextile", b => + { + b.HasOne("GarmentFactoryDatabaseImplement.Models.Shop", "Shop") + .WithMany("Textiles") + .HasForeignKey("ShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("GarmentFactoryDatabaseImplement.Models.Textile", "Textile") + .WithMany("ShopTextiles") + .HasForeignKey("TextileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Shop"); + + b.Navigation("Textile"); + }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.TextileComponent", b => { b.HasOne("GarmentFactoryDatabaseImplement.Models.Component", "Component") @@ -159,11 +231,18 @@ namespace GarmentFactoryDatabaseImplement.Migrations b.Navigation("TextileComponents"); }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Shop", b => + { + b.Navigation("Textiles"); + }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Textile", b => { b.Navigation("Components"); b.Navigation("Orders"); + + b.Navigation("ShopTextiles"); }); #pragma warning restore 612, 618 } diff --git a/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240319190105_InitialCreate.cs b/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240419160846_ImplementerAddition.cs similarity index 65% rename from GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240319190105_InitialCreate.cs rename to GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240419160846_ImplementerAddition.cs index b4c0f3d..1dda64e 100644 --- a/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240319190105_InitialCreate.cs +++ b/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/20240419160846_ImplementerAddition.cs @@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace GarmentFactoryDatabaseImplement.Migrations { /// <inheritdoc /> - public partial class InitialCreate : Migration + public partial class ImplementerAddition : Migration { /// <inheritdoc /> protected override void Up(MigrationBuilder migrationBuilder) @@ -25,6 +25,22 @@ namespace GarmentFactoryDatabaseImplement.Migrations table.PrimaryKey("PK_Components", x => x.Id); }); + migrationBuilder.CreateTable( + name: "Shops", + columns: table => new + { + Id = table.Column<int>(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ShopName = table.Column<string>(type: "nvarchar(max)", nullable: false), + Address = table.Column<string>(type: "nvarchar(max)", nullable: false), + DateOpening = table.Column<DateTime>(type: "datetime2", nullable: false), + TextilesMaximum = table.Column<int>(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Shops", x => x.Id); + }); + migrationBuilder.CreateTable( name: "Textiles", columns: table => new @@ -63,6 +79,33 @@ namespace GarmentFactoryDatabaseImplement.Migrations onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "ShopTextiles", + columns: table => new + { + Id = table.Column<int>(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ShopId = table.Column<int>(type: "int", nullable: false), + TextileId = table.Column<int>(type: "int", nullable: false), + Count = table.Column<int>(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ShopTextiles", x => x.Id); + table.ForeignKey( + name: "FK_ShopTextiles_Shops_ShopId", + column: x => x.ShopId, + principalTable: "Shops", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ShopTextiles_Textiles_TextileId", + column: x => x.TextileId, + principalTable: "Textiles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "TextileComponents", columns: table => new @@ -95,6 +138,16 @@ namespace GarmentFactoryDatabaseImplement.Migrations table: "Orders", column: "TextileId"); + migrationBuilder.CreateIndex( + name: "IX_ShopTextiles_ShopId", + table: "ShopTextiles", + column: "ShopId"); + + migrationBuilder.CreateIndex( + name: "IX_ShopTextiles_TextileId", + table: "ShopTextiles", + column: "TextileId"); + migrationBuilder.CreateIndex( name: "IX_TextileComponents_ComponentId", table: "TextileComponents", @@ -112,9 +165,15 @@ namespace GarmentFactoryDatabaseImplement.Migrations migrationBuilder.DropTable( name: "Orders"); + migrationBuilder.DropTable( + name: "ShopTextiles"); + migrationBuilder.DropTable( name: "TextileComponents"); + migrationBuilder.DropTable( + name: "Shops"); + migrationBuilder.DropTable( name: "Components"); diff --git a/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/GarmentFactoryDatabaseModelSnapshot.cs b/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/GarmentFactoryDatabaseModelSnapshot.cs index 73aa3d1..4c8b718 100644 --- a/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/GarmentFactoryDatabaseModelSnapshot.cs +++ b/GarmentFactory/GarmentFactoryDatabaseImplement/Migrations/GarmentFactoryDatabaseModelSnapshot.cs @@ -75,6 +75,59 @@ namespace GarmentFactoryDatabaseImplement.Migrations b.ToTable("Orders"); }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Shop", b => + { + b.Property<int>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id")); + + b.Property<string>("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<DateTime>("DateOpening") + .HasColumnType("datetime2"); + + b.Property<string>("ShopName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property<int>("TextilesMaximum") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Shops"); + }); + + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.ShopTextile", b => + { + b.Property<int>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id")); + + b.Property<int>("Count") + .HasColumnType("int"); + + b.Property<int>("ShopId") + .HasColumnType("int"); + + b.Property<int>("TextileId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ShopId"); + + b.HasIndex("TextileId"); + + b.ToTable("ShopTextiles"); + }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Textile", b => { b.Property<int>("Id") @@ -132,6 +185,25 @@ namespace GarmentFactoryDatabaseImplement.Migrations b.Navigation("Textile"); }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.ShopTextile", b => + { + b.HasOne("GarmentFactoryDatabaseImplement.Models.Shop", "Shop") + .WithMany("Textiles") + .HasForeignKey("ShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("GarmentFactoryDatabaseImplement.Models.Textile", "Textile") + .WithMany("ShopTextiles") + .HasForeignKey("TextileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Shop"); + + b.Navigation("Textile"); + }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.TextileComponent", b => { b.HasOne("GarmentFactoryDatabaseImplement.Models.Component", "Component") @@ -156,11 +228,18 @@ namespace GarmentFactoryDatabaseImplement.Migrations b.Navigation("TextileComponents"); }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Shop", b => + { + b.Navigation("Textiles"); + }); + modelBuilder.Entity("GarmentFactoryDatabaseImplement.Models.Textile", b => { b.Navigation("Components"); b.Navigation("Orders"); + + b.Navigation("ShopTextiles"); }); #pragma warning restore 612, 618 } diff --git a/GarmentFactory/GarmentFactoryFileImplement/GarmentFactoryFileImplement.csproj b/GarmentFactory/GarmentFactoryFileImplement/GarmentFactoryFileImplement.csproj index ea73c98..e8c0666 100644 --- a/GarmentFactory/GarmentFactoryFileImplement/GarmentFactoryFileImplement.csproj +++ b/GarmentFactory/GarmentFactoryFileImplement/GarmentFactoryFileImplement.csproj @@ -6,6 +6,10 @@ <Nullable>enable</Nullable> </PropertyGroup> + <ItemGroup> + <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.16" /> + </ItemGroup> + <ItemGroup> <ProjectReference Include="..\GarmentFactoryContracts\GarmentFactoryContracts.csproj" /> <ProjectReference Include="..\GarmentFactoryDataModels\GarmentFactoryDataModels.csproj" />