From 531c833e762f1a17d70e0a28d069ceaa3d2812f6 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Mon, 5 Feb 2024 17:58:14 +0100 Subject: [PATCH] =?UTF-8?q?Filler-Tabelle=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CocktailWeb/Data/DbDataContext.cs | 18 ++ CocktailWeb/Data/Filler.cs | 17 ++ ...240131184613_CreateFillerTable.Designer.cs | 152 +++++++++++ .../20240131184613_CreateFillerTable.cs | 70 ++++++ ...20240205165625_SeedDataFillers.Designer.cs | 238 ++++++++++++++++++ .../20240205165625_SeedDataFillers.cs | 111 ++++++++ .../FlascheDataContextModelSnapshot.cs | 122 ++++++++- 7 files changed, 724 insertions(+), 4 deletions(-) create mode 100644 CocktailWeb/Data/Filler.cs create mode 100644 CocktailWeb/Migrations/20240131184613_CreateFillerTable.Designer.cs create mode 100644 CocktailWeb/Migrations/20240131184613_CreateFillerTable.cs create mode 100644 CocktailWeb/Migrations/20240205165625_SeedDataFillers.Designer.cs create mode 100644 CocktailWeb/Migrations/20240205165625_SeedDataFillers.cs diff --git a/CocktailWeb/Data/DbDataContext.cs b/CocktailWeb/Data/DbDataContext.cs index d5fc5ca..553eecc 100644 --- a/CocktailWeb/Data/DbDataContext.cs +++ b/CocktailWeb/Data/DbDataContext.cs @@ -9,6 +9,8 @@ namespace CocktailWeb.Data public DbSet Flaschen { get; set; } public DbSet CocktailFlaschen { get; set; } public DbSet Cocktails { get; set; } + public DbSet Fillers { get; set; } + public DbDataContext(IConfiguration configuration) { _configuration = configuration; @@ -27,6 +29,22 @@ namespace CocktailWeb.Data new Flasche("Wodka") { Id = 2 } ); + modelBuilder.Entity().HasData( + new Filler() { Id = 1, Pos = 1, Type = Filler.FillerType.Pump }, + new Filler() { Id = 2, Pos = 2, Type = Filler.FillerType.Pump }, + new Filler() { Id = 3, Pos = 3, Type = Filler.FillerType.Pump }, + new Filler() { Id = 4, Pos = 4, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 5, Pos = 5, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 6, Pos = 6, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 7, Pos = 7, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 8, Pos = 8, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 9, Pos = 9, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 10, Pos = 10, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 11, Pos = 11, Type = Filler.FillerType.Pourer }, + new Filler() { Id = 12, Pos = 12, Type = Filler.FillerType.Pump }, + new Filler() { Id = 13, Pos = 13, Type = Filler.FillerType.Pump }, + new Filler() { Id = 14, Pos = 14, Type = Filler.FillerType.Pump } + ); // modelBuilder.Entity().HasMany(c => c.CocktailFlaschen).WithOne(c => c.Cocktail).HasForeignKey(c => c.CocktailID); diff --git a/CocktailWeb/Data/Filler.cs b/CocktailWeb/Data/Filler.cs new file mode 100644 index 0000000..a6983cc --- /dev/null +++ b/CocktailWeb/Data/Filler.cs @@ -0,0 +1,17 @@ +namespace CocktailWeb.Data +{ + public class Filler + { + public int Id { get; set; } + public int Pos { get; set; } + public FillerType Type { get; set; } + public Flasche? Flasche { get; set; } + + public enum FillerType + { + Pump, + Pourer + } + + } +} diff --git a/CocktailWeb/Migrations/20240131184613_CreateFillerTable.Designer.cs b/CocktailWeb/Migrations/20240131184613_CreateFillerTable.Designer.cs new file mode 100644 index 0000000..3b50dec --- /dev/null +++ b/CocktailWeb/Migrations/20240131184613_CreateFillerTable.Designer.cs @@ -0,0 +1,152 @@ +// +using System; +using CocktailWeb.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace CocktailWeb.Migrations +{ + [DbContext(typeof(DbDataContext))] + [Migration("20240131184613_CreateFillerTable")] + partial class CreateFillerTable + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "8.0.1"); + + modelBuilder.Entity("CocktailWeb.Data.Cocktail", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ImageURL") + .HasColumnType("TEXT"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Cocktails"); + }); + + modelBuilder.Entity("CocktailWeb.Data.CocktailFlasche", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("CocktailID") + .HasColumnType("INTEGER"); + + b.Property("FlascheID") + .HasColumnType("INTEGER"); + + b.Property("Menge") + .HasColumnType("INTEGER"); + + b.Property("Reihenfolge") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("CocktailID"); + + b.HasIndex("FlascheID"); + + b.ToTable("CocktailFlaschen"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Filler", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FlascheId") + .HasColumnType("INTEGER"); + + b.Property("Pos") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("FlascheId"); + + b.ToTable("Fillers"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Flasche", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Flaschen", (string)null); + + b.HasData( + new + { + Id = 1, + Name = "Jägermeister" + }, + new + { + Id = 2, + Name = "Wodka" + }); + }); + + modelBuilder.Entity("CocktailWeb.Data.CocktailFlasche", b => + { + b.HasOne("CocktailWeb.Data.Cocktail", "Cocktail") + .WithMany("Cocktailflaschen") + .HasForeignKey("CocktailID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("CocktailWeb.Data.Flasche", "Flasche") + .WithMany() + .HasForeignKey("FlascheID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Cocktail"); + + b.Navigation("Flasche"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Filler", b => + { + b.HasOne("CocktailWeb.Data.Flasche", "Flasche") + .WithMany() + .HasForeignKey("FlascheId"); + + b.Navigation("Flasche"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Cocktail", b => + { + b.Navigation("Cocktailflaschen"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/CocktailWeb/Migrations/20240131184613_CreateFillerTable.cs b/CocktailWeb/Migrations/20240131184613_CreateFillerTable.cs new file mode 100644 index 0000000..d2679f2 --- /dev/null +++ b/CocktailWeb/Migrations/20240131184613_CreateFillerTable.cs @@ -0,0 +1,70 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CocktailWeb.Migrations +{ + /// + public partial class CreateFillerTable : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Pos", + table: "Flaschen"); + + migrationBuilder.CreateTable( + name: "Fillers", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + Pos = table.Column(type: "INTEGER", nullable: false), + Type = table.Column(type: "INTEGER", nullable: false), + FlascheId = table.Column(type: "INTEGER", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Fillers", x => x.Id); + table.ForeignKey( + name: "FK_Fillers_Flaschen_FlascheId", + column: x => x.FlascheId, + principalTable: "Flaschen", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_Fillers_FlascheId", + table: "Fillers", + column: "FlascheId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Fillers"); + + migrationBuilder.AddColumn( + name: "Pos", + table: "Flaschen", + type: "INTEGER", + nullable: true); + + migrationBuilder.UpdateData( + table: "Flaschen", + keyColumn: "Id", + keyValue: 1, + column: "Pos", + value: null); + + migrationBuilder.UpdateData( + table: "Flaschen", + keyColumn: "Id", + keyValue: 2, + column: "Pos", + value: null); + } + } +} diff --git a/CocktailWeb/Migrations/20240205165625_SeedDataFillers.Designer.cs b/CocktailWeb/Migrations/20240205165625_SeedDataFillers.Designer.cs new file mode 100644 index 0000000..afdee73 --- /dev/null +++ b/CocktailWeb/Migrations/20240205165625_SeedDataFillers.Designer.cs @@ -0,0 +1,238 @@ +// +using System; +using CocktailWeb.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace CocktailWeb.Migrations +{ + [DbContext(typeof(DbDataContext))] + [Migration("20240205165625_SeedDataFillers")] + partial class SeedDataFillers + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "8.0.1"); + + modelBuilder.Entity("CocktailWeb.Data.Cocktail", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ImageURL") + .HasColumnType("TEXT"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Cocktails"); + }); + + modelBuilder.Entity("CocktailWeb.Data.CocktailFlasche", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("CocktailID") + .HasColumnType("INTEGER"); + + b.Property("FlascheID") + .HasColumnType("INTEGER"); + + b.Property("Menge") + .HasColumnType("INTEGER"); + + b.Property("Reihenfolge") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("CocktailID"); + + b.HasIndex("FlascheID"); + + b.ToTable("CocktailFlaschen"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Filler", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FlascheId") + .HasColumnType("INTEGER"); + + b.Property("Pos") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("FlascheId"); + + b.ToTable("Fillers"); + + b.HasData( + new + { + Id = 1, + Pos = 1, + Type = 0 + }, + new + { + Id = 2, + Pos = 2, + Type = 0 + }, + new + { + Id = 3, + Pos = 3, + Type = 0 + }, + new + { + Id = 4, + Pos = 4, + Type = 1 + }, + new + { + Id = 5, + Pos = 5, + Type = 1 + }, + new + { + Id = 6, + Pos = 6, + Type = 1 + }, + new + { + Id = 7, + Pos = 7, + Type = 1 + }, + new + { + Id = 8, + Pos = 8, + Type = 1 + }, + new + { + Id = 9, + Pos = 9, + Type = 1 + }, + new + { + Id = 10, + Pos = 10, + Type = 1 + }, + new + { + Id = 11, + Pos = 11, + Type = 1 + }, + new + { + Id = 12, + Pos = 12, + Type = 0 + }, + new + { + Id = 13, + Pos = 13, + Type = 0 + }, + new + { + Id = 14, + Pos = 14, + Type = 0 + }); + }); + + modelBuilder.Entity("CocktailWeb.Data.Flasche", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Flaschen", (string)null); + + b.HasData( + new + { + Id = 1, + Name = "Jägermeister" + }, + new + { + Id = 2, + Name = "Wodka" + }); + }); + + modelBuilder.Entity("CocktailWeb.Data.CocktailFlasche", b => + { + b.HasOne("CocktailWeb.Data.Cocktail", "Cocktail") + .WithMany("Cocktailflaschen") + .HasForeignKey("CocktailID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("CocktailWeb.Data.Flasche", "Flasche") + .WithMany() + .HasForeignKey("FlascheID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Cocktail"); + + b.Navigation("Flasche"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Filler", b => + { + b.HasOne("CocktailWeb.Data.Flasche", "Flasche") + .WithMany() + .HasForeignKey("FlascheId"); + + b.Navigation("Flasche"); + }); + + modelBuilder.Entity("CocktailWeb.Data.Cocktail", b => + { + b.Navigation("Cocktailflaschen"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/CocktailWeb/Migrations/20240205165625_SeedDataFillers.cs b/CocktailWeb/Migrations/20240205165625_SeedDataFillers.cs new file mode 100644 index 0000000..3dabfda --- /dev/null +++ b/CocktailWeb/Migrations/20240205165625_SeedDataFillers.cs @@ -0,0 +1,111 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace CocktailWeb.Migrations +{ + /// + public partial class SeedDataFillers : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.InsertData( + table: "Fillers", + columns: new[] { "Id", "FlascheId", "Pos", "Type" }, + values: new object[,] + { + { 1, null, 1, 0 }, + { 2, null, 2, 0 }, + { 3, null, 3, 0 }, + { 4, null, 4, 1 }, + { 5, null, 5, 1 }, + { 6, null, 6, 1 }, + { 7, null, 7, 1 }, + { 8, null, 8, 1 }, + { 9, null, 9, 1 }, + { 10, null, 10, 1 }, + { 11, null, 11, 1 }, + { 12, null, 12, 0 }, + { 13, null, 13, 0 }, + { 14, null, 14, 0 } + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 1); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 2); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 3); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 4); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 5); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 6); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 7); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 8); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 9); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 10); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 11); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 12); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 13); + + migrationBuilder.DeleteData( + table: "Fillers", + keyColumn: "Id", + keyValue: 14); + } + } +} diff --git a/CocktailWeb/Migrations/FlascheDataContextModelSnapshot.cs b/CocktailWeb/Migrations/FlascheDataContextModelSnapshot.cs index cb861e1..628ec76 100644 --- a/CocktailWeb/Migrations/FlascheDataContextModelSnapshot.cs +++ b/CocktailWeb/Migrations/FlascheDataContextModelSnapshot.cs @@ -15,7 +15,7 @@ namespace CocktailWeb.Migrations protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "7.0.14"); + modelBuilder.HasAnnotation("ProductVersion", "8.0.1"); modelBuilder.Entity("CocktailWeb.Data.Cocktail", b => { @@ -62,6 +62,114 @@ namespace CocktailWeb.Migrations b.ToTable("CocktailFlaschen"); }); + modelBuilder.Entity("CocktailWeb.Data.Filler", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FlascheId") + .HasColumnType("INTEGER"); + + b.Property("Pos") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("FlascheId"); + + b.ToTable("Fillers"); + + b.HasData( + new + { + Id = 1, + Pos = 1, + Type = 0 + }, + new + { + Id = 2, + Pos = 2, + Type = 0 + }, + new + { + Id = 3, + Pos = 3, + Type = 0 + }, + new + { + Id = 4, + Pos = 4, + Type = 1 + }, + new + { + Id = 5, + Pos = 5, + Type = 1 + }, + new + { + Id = 6, + Pos = 6, + Type = 1 + }, + new + { + Id = 7, + Pos = 7, + Type = 1 + }, + new + { + Id = 8, + Pos = 8, + Type = 1 + }, + new + { + Id = 9, + Pos = 9, + Type = 1 + }, + new + { + Id = 10, + Pos = 10, + Type = 1 + }, + new + { + Id = 11, + Pos = 11, + Type = 1 + }, + new + { + Id = 12, + Pos = 12, + Type = 0 + }, + new + { + Id = 13, + Pos = 13, + Type = 0 + }, + new + { + Id = 14, + Pos = 14, + Type = 0 + }); + }); + modelBuilder.Entity("CocktailWeb.Data.Flasche", b => { b.Property("Id") @@ -72,9 +180,6 @@ namespace CocktailWeb.Migrations .IsRequired() .HasColumnType("TEXT"); - b.Property("Pos") - .HasColumnType("INTEGER"); - b.HasKey("Id"); b.ToTable("Flaschen", (string)null); @@ -111,6 +216,15 @@ namespace CocktailWeb.Migrations b.Navigation("Flasche"); }); + modelBuilder.Entity("CocktailWeb.Data.Filler", b => + { + b.HasOne("CocktailWeb.Data.Flasche", "Flasche") + .WithMany() + .HasForeignKey("FlascheId"); + + b.Navigation("Flasche"); + }); + modelBuilder.Entity("CocktailWeb.Data.Cocktail", b => { b.Navigation("Cocktailflaschen");