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 3cfb609..0000000
Binary files a/Backend/EVABackend/EVABackend/eva.db and /dev/null differ