From 093cc62e35b388c045851b51f84301e9c541f963 Mon Sep 17 00:00:00 2001 From: Tobi Date: Wed, 22 May 2019 19:27:40 +0200 Subject: [PATCH] :construction: Datenmodels erweitert --- .../20190515103649_TestCreate1.Designer.cs | 85 -------------------- .../Migrations/20190515103649_TestCreate1.cs | 82 ------------------- .../Migrations/EVAContextModelSnapshot.cs | 83 -------------------- Backend/EVABackend/EVABackend/Models/EVAContext.cs | 87 ++++++++++++++++++++- Backend/EVABackend/EVABackend/eva.db | Bin 36864 -> 0 bytes 5 files changed, 83 insertions(+), 254 deletions(-) delete mode 100644 Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.Designer.cs delete mode 100644 Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.cs delete mode 100644 Backend/EVABackend/EVABackend/Migrations/EVAContextModelSnapshot.cs delete mode 100644 Backend/EVABackend/EVABackend/eva.db diff --git a/Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.Designer.cs b/Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.Designer.cs deleted file mode 100644 index 5e44b06..0000000 --- a/Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.Designer.cs +++ /dev/null @@ -1,85 +0,0 @@ -// -using EVABackend.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace EVABackend.Migrations -{ - [DbContext(typeof(EVAContext))] - [Migration("20190515103649_TestCreate1")] - partial class TestCreate1 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.8-servicing-32085"); - - modelBuilder.Entity("EVABackend.Models.Kurs", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Kuendigungsfrist"); - - b.Property("Laufzeit"); - - b.Property("Name") - .IsRequired(); - - b.Property("Preis"); - - b.Property("UnterrichtsTyp"); - - b.HasKey("Id"); - - b.ToTable("Kurse"); - }); - - modelBuilder.Entity("EVABackend.Models.KursSchueler", b => - { - b.Property("SchuelerId"); - - b.Property("KursId"); - - b.HasKey("SchuelerId", "KursId"); - - b.HasIndex("KursId"); - - b.ToTable("KursSchueler"); - }); - - modelBuilder.Entity("EVABackend.Models.Schueler", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Name") - .IsRequired(); - - b.Property("Vorname") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Schueler"); - }); - - modelBuilder.Entity("EVABackend.Models.KursSchueler", b => - { - b.HasOne("EVABackend.Models.Kurs", "Kurs") - .WithMany("KursSchueler") - .HasForeignKey("KursId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("EVABackend.Models.Schueler", "Schueler") - .WithMany("KursSchueler") - .HasForeignKey("SchuelerId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.cs b/Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.cs deleted file mode 100644 index 2db1801..0000000 --- a/Backend/EVABackend/EVABackend/Migrations/20190515103649_TestCreate1.cs +++ /dev/null @@ -1,82 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace EVABackend.Migrations -{ - public partial class TestCreate1 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Kurse", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Name = table.Column(nullable: false), - Preis = table.Column(nullable: false), - Laufzeit = table.Column(nullable: false), - Kuendigungsfrist = table.Column(nullable: false), - UnterrichtsTyp = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Kurse", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Schueler", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Name = table.Column(nullable: false), - Vorname = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Schueler", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "KursSchueler", - columns: table => new - { - SchuelerId = table.Column(nullable: false), - KursId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_KursSchueler", x => new { x.SchuelerId, x.KursId }); - table.ForeignKey( - name: "FK_KursSchueler_Kurse_KursId", - column: x => x.KursId, - principalTable: "Kurse", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_KursSchueler_Schueler_SchuelerId", - column: x => x.SchuelerId, - principalTable: "Schueler", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_KursSchueler_KursId", - table: "KursSchueler", - column: "KursId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "KursSchueler"); - - migrationBuilder.DropTable( - name: "Kurse"); - - migrationBuilder.DropTable( - name: "Schueler"); - } - } -} diff --git a/Backend/EVABackend/EVABackend/Migrations/EVAContextModelSnapshot.cs b/Backend/EVABackend/EVABackend/Migrations/EVAContextModelSnapshot.cs deleted file mode 100644 index 7180a44..0000000 --- a/Backend/EVABackend/EVABackend/Migrations/EVAContextModelSnapshot.cs +++ /dev/null @@ -1,83 +0,0 @@ -// -using EVABackend.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace EVABackend.Migrations -{ - [DbContext(typeof(EVAContext))] - partial class EVAContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.1.8-servicing-32085"); - - modelBuilder.Entity("EVABackend.Models.Kurs", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Kuendigungsfrist"); - - b.Property("Laufzeit"); - - b.Property("Name") - .IsRequired(); - - b.Property("Preis"); - - b.Property("UnterrichtsTyp"); - - b.HasKey("Id"); - - b.ToTable("Kurse"); - }); - - modelBuilder.Entity("EVABackend.Models.KursSchueler", b => - { - b.Property("SchuelerId"); - - b.Property("KursId"); - - b.HasKey("SchuelerId", "KursId"); - - b.HasIndex("KursId"); - - b.ToTable("KursSchueler"); - }); - - modelBuilder.Entity("EVABackend.Models.Schueler", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Name") - .IsRequired(); - - b.Property("Vorname") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Schueler"); - }); - - modelBuilder.Entity("EVABackend.Models.KursSchueler", b => - { - b.HasOne("EVABackend.Models.Kurs", "Kurs") - .WithMany("KursSchueler") - .HasForeignKey("KursId") - .OnDelete(DeleteBehavior.Cascade); - - b.HasOne("EVABackend.Models.Schueler", "Schueler") - .WithMany("KursSchueler") - .HasForeignKey("SchuelerId") - .OnDelete(DeleteBehavior.Cascade); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Backend/EVABackend/EVABackend/Models/EVAContext.cs b/Backend/EVABackend/EVABackend/Models/EVAContext.cs index 793afd8..b559dbd 100644 --- a/Backend/EVABackend/EVABackend/Models/EVAContext.cs +++ b/Backend/EVABackend/EVABackend/Models/EVAContext.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; @@ -8,12 +9,17 @@ namespace EVABackend.Models public class EVAContext : DbContext { public DbSet Schueler { get; set; } + public DbSet Donzenten { get; set; } public DbSet Kurse { get; set; } public DbSet KursSchueler { get; set; } + public DbSet Unterrichte { get; set; } + public DbSet Instrumente { get; set; } + public DbSet Raeume { get; set; } + public DbSet Antraege { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - optionsBuilder.UseSqlite("Data Source=eva.db"); + optionsBuilder.UseSqlite("Data Source=eva_ls.db"); } protected override void OnModelCreating(ModelBuilder modelBuilder) @@ -33,7 +39,7 @@ namespace EVABackend.Models } } - public class Schueler + public abstract class Person { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] @@ -42,9 +48,38 @@ namespace EVABackend.Models public string Name { get; set; } [Required] public string Vorname { get; set; } + public DateTime Geburtsdatum { get; set; } + [Required] + public string Geburtsort { get; set; } + public int PLZ { get; set; } + [Required] + public string Ort { get; set; } + [Required] + public string Strasse { get; set; } + [Required] + public string Telefon { get; set; } + [Required] + public string EMail { get; set; } + [Required] + public string Bankname { get; set; } + [Required] + public string BLZ { get; set; } + [Required] + public string KontoNr { get; set; } public virtual ICollection KursSchueler { get; set; } } + public class Schueler : Person + { + public bool IstErmaessigt { get; set; } + } + + public class Dozent : Person + { + public decimal Stundensatz { get; set; } + public virtual ICollection Instrumente { get; set; } + } + public class Kurs { [Key] @@ -52,10 +87,12 @@ namespace EVABackend.Models public int Id { get; set; } [Required] public string Name { get; set; } - public decimal Preis { get; set; } public int Laufzeit { get; set; } public int Kuendigungsfrist { get; set; } + public bool Bestaetigt { get; set; } public UnterrichtTyp UnterrichtsTyp { get; set; } + public virtual ICollection Instrumente { get; set; } + public virtual ICollection Unterrichte { get; set; } public virtual ICollection KursSchueler { get; set; } } @@ -67,8 +104,50 @@ namespace EVABackend.Models public virtual Kurs Kurs { get; set; } } + public class Unterricht + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } + public DateTime Startzeit { get; set; } + public string Notiz { get; set; } + public Raum Raum { get; set; } + } + + public class Raum + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } + [Required] + public string Name { get; set; } + public bool Belegt { get; set; } + public virtual ICollection Instrumente { get; set; } + } + + public class Antrag + { + [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } + public Schueler Schueler { get; set; } + public UnterrichtTyp UnterrichtTyp { get; set; } + public virtual ICollection Instrumente { get; set; } + } + public enum UnterrichtTyp { - Einzel, Gruppe + Einzel, Gruppe, MusikalischFrueherziehung + } + + public class Instrument + { + public int Id { get; set; } + public InstrumentTyp InstrumentTyp { get; set; } + } + + public enum InstrumentTyp + { + Klavier, Schlagzeug, Geige, Gitarre, Band } } diff --git a/Backend/EVABackend/EVABackend/eva.db b/Backend/EVABackend/EVABackend/eva.db deleted file mode 100644 index 3cfb6093a4c380b21d1e26091222e9b0bdee116e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36864 zcmeI)-%i?490%}L6p+Z+u6i?*vnDJW{{(Ojy|crkBVb{rI?S>V21jh7Fx#@s-RYJ+ zfiJO(C3}!v?Gg4AyWDAQwM8&nb~DNMgod`K=XcKUb528we`+tvhRw)9&pdA0WJS0y zh@!ATh#&|Pe4FN*U#9rZq<_HQ#lZfk-3ej&;kRV!mk>`p67Ky-eNBEzzMQ#8T+F=U zCr}^&0SG_<0uX=z1pYsPlXy&8Pm5;{jBcB~FV-8SzG>B3hkbU$O!uJJ4xXAWXjIWD zDXN>aPUPVYWKvOy9Bd|&Irq5OmghfiMq^SsEq*T9%{NCZcv)~i=Jlj2&&u>hv}A(t zBKsrdaruyRx=l5rR&=87mdlIYHBQi5>I)UMrfUjsP2_4Rl)p@>T5(6w_DPBE^9%yL zEnbeu$;ay_7-uUS#|_FnO_^*}G+NwNy`bLk=7~nPs7BQStzE`u4w}<}qq#}Tl(QF< zT0z;Qf6%2r)`q|15QKXU)P#HYD@G3>nV8SVqEaa>3hu(OPLB9BN-L}!`cRSXB zX;`;hx!bjwX&S9V+tN?p-i*lU&+1}K%IC%NiVM|f(5)S#V>WH0*R`JW=sojv=*fvN z-?xYYG^-=?9kH@ z{y`IWK5UYF6I0&>{z8EO1Rwwb2tWV=5P$##AOHafK;RAtL5C8mA~{DlGm2tWV=5P$##AOHaf zKmY;|fWVyM^)00bZa0SG_<0uX=z1Rwwb2#mh~p8v;xj*%e* zAOHafKmY;|fB*y_009U0uX=z1Rwwb2tWV=5P-mV3*h;Gyyq9$ YK>z{}fB*y_009U<00Izz00bO?-x0&;2LJ#7