diff --git a/KanSan.Base/Enums/ESanierung.cs b/KanSan.Base/Enums/ESanierung.cs new file mode 100644 index 0000000..e298635 --- /dev/null +++ b/KanSan.Base/Enums/ESanierung.cs @@ -0,0 +1,10 @@ +namespace KanSan.Base.Enums +{ + public enum ESanierung + { + NONE, + REPERATUR, + RENOVATION, + ERNEUERUNG + } +} diff --git a/KanSan.Base/Interfaces/IUnitOfWork.cs b/KanSan.Base/Interfaces/IUnitOfWork.cs index 928969c..1561f5b 100644 --- a/KanSan.Base/Interfaces/IUnitOfWork.cs +++ b/KanSan.Base/Interfaces/IUnitOfWork.cs @@ -12,6 +12,11 @@ namespace KanSan.Base.Interfaces IRepository BaustelleRepository { get; } IRepository KanaeleRepository { get; } IRepository ObjekteRepository { get; } + IRepository SchaedenRepository { get; } + IRepository SanierungskonzeptRepository { get; } + IRepository TaetigkeitenRepository { get; } + IRepository LeistungsverzeichnisRepository { get; } + IRepository FahrzeugRepository { get; } void Commit(); } } diff --git a/KanSan.Base/KanSanContext.cs b/KanSan.Base/KanSanContext.cs index 9840725..31b865d 100644 --- a/KanSan.Base/KanSanContext.cs +++ b/KanSan.Base/KanSanContext.cs @@ -10,6 +10,12 @@ namespace KanSan.Base public DbSet Kunden { get; set; } public DbSet Kanaele { get; set; } public DbSet SewerPoints { get; set; } + public DbSet Schaeden { get; set; } + public DbSet Sanierungskonzept { get; set; } + public DbSet Taetigkeiten { get; set; } + public DbSet LeitungsverzeichnisPositionen { get; set; } + public DbSet Fahrzeuge { get; set; } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlite("Data Source=kansan.db"); diff --git a/KanSan.Base/Migrations/20200221084801_InitialCommit.Designer.cs b/KanSan.Base/Migrations/20200221103518_InitialCommit.Designer.cs similarity index 54% rename from KanSan.Base/Migrations/20200221084801_InitialCommit.Designer.cs rename to KanSan.Base/Migrations/20200221103518_InitialCommit.Designer.cs index d028784..b9838dc 100644 --- a/KanSan.Base/Migrations/20200221084801_InitialCommit.Designer.cs +++ b/KanSan.Base/Migrations/20200221103518_InitialCommit.Designer.cs @@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace KanSan.Base.Migrations { [DbContext(typeof(KanSanContext))] - [Migration("20200221084801_InitialCommit")] + [Migration("20200221103518_InitialCommit")] partial class InitialCommit { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -43,6 +43,23 @@ namespace KanSan.Base.Migrations b.ToTable("Baustelle"); }); + modelBuilder.Entity("KanSan.Base.Models.Fahrzeug", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("Kennzeichen") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("Fahrzeuge"); + }); + modelBuilder.Entity("KanSan.Base.Models.Kunde", b => { b.Property("ID") @@ -72,6 +89,29 @@ namespace KanSan.Base.Migrations b.ToTable("Kunden"); }); + modelBuilder.Entity("KanSan.Base.Models.LeitungsverzeichnisPosition", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Beschreibung") + .HasColumnType("TEXT"); + + b.Property("Einheit") + .HasColumnType("TEXT"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("Positionsnummer") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("LeitungsverzeichnisPositionen"); + }); + modelBuilder.Entity("KanSan.Base.Models.Projekt", b => { b.Property("ID") @@ -97,6 +137,50 @@ namespace KanSan.Base.Migrations b.ToTable("Projekte"); }); + modelBuilder.Entity("KanSan.Base.Models.Sanierungskonzept", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("SanierungsTyp") + .HasColumnType("INTEGER"); + + b.HasKey("ID"); + + b.ToTable("Sanierungskonzept"); + }); + + modelBuilder.Entity("KanSan.Base.Models.Schaeden", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("SanierungsTyp") + .HasColumnType("INTEGER"); + + b.Property("SanierungskonzeptID") + .HasColumnType("INTEGER"); + + b.Property("SewerID") + .HasColumnType("INTEGER"); + + b.HasKey("ID"); + + b.HasIndex("SanierungskonzeptID"); + + b.HasIndex("SewerID"); + + b.ToTable("Schaeden"); + }); + modelBuilder.Entity("KanSan.Base.Models.Sewer", b => { b.Property("ID") @@ -164,6 +248,47 @@ namespace KanSan.Base.Migrations b.ToTable("SewerPoints"); }); + modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Anzahl") + .HasColumnType("TEXT"); + + b.Property("FahrzeugID") + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("LeitungsverzeichnisPositionID") + .HasColumnType("INTEGER"); + + b.Property("Mitarbeiter") + .HasColumnType("TEXT"); + + b.Property("Position") + .HasColumnType("TEXT"); + + b.Property("SanierungskonzeptID") + .HasColumnType("INTEGER"); + + b.Property("ZeitStempel") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("FahrzeugID"); + + b.HasIndex("LeitungsverzeichnisPositionID"); + + b.HasIndex("SanierungskonzeptID"); + + b.ToTable("Taetigkeiten"); + }); + modelBuilder.Entity("KanSan.Base.Models.Baustelle", b => { b.HasOne("KanSan.Base.Models.Projekt", "Projekt") @@ -178,6 +303,17 @@ namespace KanSan.Base.Migrations .HasForeignKey("KundeID"); }); + modelBuilder.Entity("KanSan.Base.Models.Schaeden", b => + { + b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept") + .WithMany() + .HasForeignKey("SanierungskonzeptID"); + + b.HasOne("KanSan.Base.Models.Sewer", "Sewer") + .WithMany("Schaeden") + .HasForeignKey("SewerID"); + }); + modelBuilder.Entity("KanSan.Base.Models.Sewer", b => { b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle") @@ -192,6 +328,21 @@ namespace KanSan.Base.Migrations .WithMany() .HasForeignKey("PunktUntenID"); }); + + modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b => + { + b.HasOne("KanSan.Base.Models.Fahrzeug", "Fahrzeug") + .WithMany() + .HasForeignKey("FahrzeugID"); + + b.HasOne("KanSan.Base.Models.LeitungsverzeichnisPosition", "LeitungsverzeichnisPosition") + .WithMany() + .HasForeignKey("LeitungsverzeichnisPositionID"); + + b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept") + .WithMany("Taetigkeiten") + .HasForeignKey("SanierungskonzeptID"); + }); #pragma warning restore 612, 618 } } diff --git a/KanSan.Base/Migrations/20200221084801_InitialCommit.cs b/KanSan.Base/Migrations/20200221103518_InitialCommit.cs similarity index 51% rename from KanSan.Base/Migrations/20200221084801_InitialCommit.cs rename to KanSan.Base/Migrations/20200221103518_InitialCommit.cs index 53c0ee5..191ab1e 100644 --- a/KanSan.Base/Migrations/20200221084801_InitialCommit.cs +++ b/KanSan.Base/Migrations/20200221103518_InitialCommit.cs @@ -7,6 +7,20 @@ namespace KanSan.Base.Migrations { protected override void Up(MigrationBuilder migrationBuilder) { + migrationBuilder.CreateTable( + name: "Fahrzeuge", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + GuidNr = table.Column(nullable: false), + Kennzeichen = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Fahrzeuge", x => x.ID); + }); + migrationBuilder.CreateTable( name: "Kunden", columns: table => new @@ -25,6 +39,36 @@ namespace KanSan.Base.Migrations table.PrimaryKey("PK_Kunden", x => x.ID); }); + migrationBuilder.CreateTable( + name: "LeitungsverzeichnisPositionen", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + GuidNr = table.Column(nullable: false), + Positionsnummer = table.Column(nullable: true), + Beschreibung = table.Column(nullable: true), + Einheit = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_LeitungsverzeichnisPositionen", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "Sanierungskonzept", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + GuidNr = table.Column(nullable: false), + SanierungsTyp = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Sanierungskonzept", x => x.ID); + }); + migrationBuilder.CreateTable( name: "SewerPoints", columns: table => new @@ -61,6 +105,44 @@ namespace KanSan.Base.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "Taetigkeiten", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + GuidNr = table.Column(nullable: false), + SanierungskonzeptID = table.Column(nullable: true), + FahrzeugID = table.Column(nullable: true), + Mitarbeiter = table.Column(nullable: true), + ZeitStempel = table.Column(nullable: false), + Position = table.Column(nullable: false), + LeitungsverzeichnisPositionID = table.Column(nullable: true), + Anzahl = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Taetigkeiten", x => x.ID); + table.ForeignKey( + name: "FK_Taetigkeiten_Fahrzeuge_FahrzeugID", + column: x => x.FahrzeugID, + principalTable: "Fahrzeuge", + principalColumn: "ID", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Taetigkeiten_LeitungsverzeichnisPositionen_LeitungsverzeichnisPositionID", + column: x => x.LeitungsverzeichnisPositionID, + principalTable: "LeitungsverzeichnisPositionen", + principalColumn: "ID", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Taetigkeiten_Sanierungskonzept_SanierungskonzeptID", + column: x => x.SanierungskonzeptID, + principalTable: "Sanierungskonzept", + principalColumn: "ID", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( name: "Baustelle", columns: table => new @@ -124,6 +206,34 @@ namespace KanSan.Base.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "Schaeden", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + GuidNr = table.Column(nullable: false), + SewerID = table.Column(nullable: true), + SanierungsTyp = table.Column(nullable: false), + SanierungskonzeptID = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Schaeden", x => x.ID); + table.ForeignKey( + name: "FK_Schaeden_Sanierungskonzept_SanierungskonzeptID", + column: x => x.SanierungskonzeptID, + principalTable: "Sanierungskonzept", + principalColumn: "ID", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Schaeden_Kanaele_SewerID", + column: x => x.SewerID, + principalTable: "Kanaele", + principalColumn: "ID", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateIndex( name: "IX_Baustelle_ProjektID", table: "Baustelle", @@ -148,13 +258,53 @@ namespace KanSan.Base.Migrations name: "IX_Projekte_KundeID", table: "Projekte", column: "KundeID"); + + migrationBuilder.CreateIndex( + name: "IX_Schaeden_SanierungskonzeptID", + table: "Schaeden", + column: "SanierungskonzeptID"); + + migrationBuilder.CreateIndex( + name: "IX_Schaeden_SewerID", + table: "Schaeden", + column: "SewerID"); + + migrationBuilder.CreateIndex( + name: "IX_Taetigkeiten_FahrzeugID", + table: "Taetigkeiten", + column: "FahrzeugID"); + + migrationBuilder.CreateIndex( + name: "IX_Taetigkeiten_LeitungsverzeichnisPositionID", + table: "Taetigkeiten", + column: "LeitungsverzeichnisPositionID"); + + migrationBuilder.CreateIndex( + name: "IX_Taetigkeiten_SanierungskonzeptID", + table: "Taetigkeiten", + column: "SanierungskonzeptID"); } protected override void Down(MigrationBuilder migrationBuilder) { + migrationBuilder.DropTable( + name: "Schaeden"); + + migrationBuilder.DropTable( + name: "Taetigkeiten"); + migrationBuilder.DropTable( name: "Kanaele"); + migrationBuilder.DropTable( + name: "Fahrzeuge"); + + migrationBuilder.DropTable( + name: "LeitungsverzeichnisPositionen"); + + migrationBuilder.DropTable( + name: "Sanierungskonzept"); + migrationBuilder.DropTable( name: "Baustelle"); diff --git a/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs b/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs index 57e9a9d..95870b2 100644 --- a/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs +++ b/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs @@ -41,6 +41,23 @@ namespace KanSan.Base.Migrations b.ToTable("Baustelle"); }); + modelBuilder.Entity("KanSan.Base.Models.Fahrzeug", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("Kennzeichen") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("Fahrzeuge"); + }); + modelBuilder.Entity("KanSan.Base.Models.Kunde", b => { b.Property("ID") @@ -70,6 +87,29 @@ namespace KanSan.Base.Migrations b.ToTable("Kunden"); }); + modelBuilder.Entity("KanSan.Base.Models.LeitungsverzeichnisPosition", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Beschreibung") + .HasColumnType("TEXT"); + + b.Property("Einheit") + .HasColumnType("TEXT"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("Positionsnummer") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("LeitungsverzeichnisPositionen"); + }); + modelBuilder.Entity("KanSan.Base.Models.Projekt", b => { b.Property("ID") @@ -95,6 +135,50 @@ namespace KanSan.Base.Migrations b.ToTable("Projekte"); }); + modelBuilder.Entity("KanSan.Base.Models.Sanierungskonzept", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("SanierungsTyp") + .HasColumnType("INTEGER"); + + b.HasKey("ID"); + + b.ToTable("Sanierungskonzept"); + }); + + modelBuilder.Entity("KanSan.Base.Models.Schaeden", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("SanierungsTyp") + .HasColumnType("INTEGER"); + + b.Property("SanierungskonzeptID") + .HasColumnType("INTEGER"); + + b.Property("SewerID") + .HasColumnType("INTEGER"); + + b.HasKey("ID"); + + b.HasIndex("SanierungskonzeptID"); + + b.HasIndex("SewerID"); + + b.ToTable("Schaeden"); + }); + modelBuilder.Entity("KanSan.Base.Models.Sewer", b => { b.Property("ID") @@ -162,6 +246,47 @@ namespace KanSan.Base.Migrations b.ToTable("SewerPoints"); }); + modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Anzahl") + .HasColumnType("TEXT"); + + b.Property("FahrzeugID") + .HasColumnType("INTEGER"); + + b.Property("GuidNr") + .HasColumnType("TEXT"); + + b.Property("LeitungsverzeichnisPositionID") + .HasColumnType("INTEGER"); + + b.Property("Mitarbeiter") + .HasColumnType("TEXT"); + + b.Property("Position") + .HasColumnType("TEXT"); + + b.Property("SanierungskonzeptID") + .HasColumnType("INTEGER"); + + b.Property("ZeitStempel") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("FahrzeugID"); + + b.HasIndex("LeitungsverzeichnisPositionID"); + + b.HasIndex("SanierungskonzeptID"); + + b.ToTable("Taetigkeiten"); + }); + modelBuilder.Entity("KanSan.Base.Models.Baustelle", b => { b.HasOne("KanSan.Base.Models.Projekt", "Projekt") @@ -176,6 +301,17 @@ namespace KanSan.Base.Migrations .HasForeignKey("KundeID"); }); + modelBuilder.Entity("KanSan.Base.Models.Schaeden", b => + { + b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept") + .WithMany() + .HasForeignKey("SanierungskonzeptID"); + + b.HasOne("KanSan.Base.Models.Sewer", "Sewer") + .WithMany("Schaeden") + .HasForeignKey("SewerID"); + }); + modelBuilder.Entity("KanSan.Base.Models.Sewer", b => { b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle") @@ -190,6 +326,21 @@ namespace KanSan.Base.Migrations .WithMany() .HasForeignKey("PunktUntenID"); }); + + modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b => + { + b.HasOne("KanSan.Base.Models.Fahrzeug", "Fahrzeug") + .WithMany() + .HasForeignKey("FahrzeugID"); + + b.HasOne("KanSan.Base.Models.LeitungsverzeichnisPosition", "LeitungsverzeichnisPosition") + .WithMany() + .HasForeignKey("LeitungsverzeichnisPositionID"); + + b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept") + .WithMany("Taetigkeiten") + .HasForeignKey("SanierungskonzeptID"); + }); #pragma warning restore 612, 618 } } diff --git a/KanSan.Base/Models/Fahrzeug.cs b/KanSan.Base/Models/Fahrzeug.cs new file mode 100644 index 0000000..50eb09c --- /dev/null +++ b/KanSan.Base/Models/Fahrzeug.cs @@ -0,0 +1,12 @@ +using KanSan.Base.Interfaces; +using System; + +namespace KanSan.Base.Models +{ + public class Fahrzeug : IDatabaseEntry + { + public int ID { get; set; } + public Guid GuidNr { get; set; } + public string Kennzeichen { get; set; } + } +} diff --git a/KanSan.Base/Models/LeitungsverzeichnisPosition.cs b/KanSan.Base/Models/LeitungsverzeichnisPosition.cs new file mode 100644 index 0000000..4571c08 --- /dev/null +++ b/KanSan.Base/Models/LeitungsverzeichnisPosition.cs @@ -0,0 +1,15 @@ +using KanSan.Base.Interfaces; +using System; + +namespace KanSan.Base.Models +{ + public class LeitungsverzeichnisPosition : IDatabaseEntry + { + public int ID { get; set; } + public Guid GuidNr { get; set; } + public string Positionsnummer { get; set; } + public string Beschreibung { get; set; } + public string Einheit { get; set; } + + } +} diff --git a/KanSan.Base/Models/Sanierungskonzept.cs b/KanSan.Base/Models/Sanierungskonzept.cs new file mode 100644 index 0000000..11e0320 --- /dev/null +++ b/KanSan.Base/Models/Sanierungskonzept.cs @@ -0,0 +1,16 @@ +using KanSan.Base.Enums; +using KanSan.Base.Interfaces; +using System; +using System.Collections.Generic; + +namespace KanSan.Base.Models +{ + public class Sanierungskonzept : IDatabaseEntry + { + public int ID { get; set; } + public Guid GuidNr { get; set; } + //public Schaeden Schaden { get; set; } + public ESanierung SanierungsTyp { get; set; } + public List Taetigkeiten { get; } = new List(); + } +} diff --git a/KanSan.Base/Models/Schaeden.cs b/KanSan.Base/Models/Schaeden.cs new file mode 100644 index 0000000..2eaecdd --- /dev/null +++ b/KanSan.Base/Models/Schaeden.cs @@ -0,0 +1,15 @@ +using KanSan.Base.Enums; +using KanSan.Base.Interfaces; +using System; + +namespace KanSan.Base.Models +{ + public class Schaeden : IDatabaseEntry + { + public int ID { get; set; } + public Guid GuidNr { get; set; } + public Sewer Sewer { get; set; } + public ESanierung SanierungsTyp { get; set; } + public Sanierungskonzept Sanierungskonzept { get; set; } + } +} diff --git a/KanSan.Base/Models/Sewer.cs b/KanSan.Base/Models/Sewer.cs index 2a50cf8..888528e 100644 --- a/KanSan.Base/Models/Sewer.cs +++ b/KanSan.Base/Models/Sewer.cs @@ -1,6 +1,7 @@ using KanSan.Base.Enums; using KanSan.Base.Interfaces; using System; +using System.Collections.Generic; namespace KanSan.Base.Models { @@ -18,5 +19,6 @@ namespace KanSan.Base.Models public SewerPoint PunktUnten { get; set; } public int DN { get; set; } public EMaterial Material { get; set; } + public List Schaeden { get; } = new List(); } } diff --git a/KanSan.Base/Models/Taetigkeiten.cs b/KanSan.Base/Models/Taetigkeiten.cs new file mode 100644 index 0000000..2b922d1 --- /dev/null +++ b/KanSan.Base/Models/Taetigkeiten.cs @@ -0,0 +1,18 @@ +using KanSan.Base.Interfaces; +using System; + +namespace KanSan.Base.Models +{ + public class Taetigkeiten : IDatabaseEntry + { + public int ID { get; set; } + public Guid GuidNr { get; set; } + public Sanierungskonzept Sanierungskonzept { get; set; } + public Fahrzeug Fahrzeug { get; set; } + public string Mitarbeiter { get; set; } + public DateTime ZeitStempel { get; set; } + public decimal Position { get; set; } + public LeitungsverzeichnisPosition LeitungsverzeichnisPosition { get; set; } + public decimal Anzahl { get; set; } + } +} diff --git a/KanSan.Base/UnitOfWork.cs b/KanSan.Base/UnitOfWork.cs index 0ae4b47..9de3311 100644 --- a/KanSan.Base/UnitOfWork.cs +++ b/KanSan.Base/UnitOfWork.cs @@ -14,46 +14,37 @@ namespace KanSan.Base private BaseRepository _baustellen; private BaseRepository _kanaele; private BaseRepository _objekte; + private BaseRepository _schaeden; + private BaseRepository _sanierungskonzepte; + private BaseRepository _taetigkeiten; + private BaseRepository _leistungsverzeichnisPositionen; + private BaseRepository _fahrzeuge; public UnitOfWork(KanSanContext dbContext) { _dbContext = dbContext; } - public IRepository ProjekteRepository - { - get - { - return _projekte ?? (_projekte = new BaseRepository(_dbContext)); - } - } - - public IRepository KundenRepository - { - get - { - return _kunden ?? (_kunden = new BaseRepository(_dbContext)); - } - } - - public IRepository BaustelleRepository - { - get - { - return _baustellen ?? (_baustellen = new BaseRepository(_dbContext)); - } - } - - public IRepository KanaeleRepository - { - get - { - return _kanaele ?? (_kanaele = new BaseRepository(_dbContext)); - } - } + public IRepository ProjekteRepository => _projekte ?? (_projekte = new BaseRepository(_dbContext)); + public IRepository KundenRepository => _kunden ?? (_kunden = new BaseRepository(_dbContext)); + + public IRepository BaustelleRepository => _baustellen ?? (_baustellen = new BaseRepository(_dbContext)); + + public IRepository KanaeleRepository => _kanaele ?? (_kanaele = new BaseRepository(_dbContext)); + public IRepository ObjekteRepository => _objekte ?? (_objekte = new BaseRepository(_dbContext)); + public IRepository SchaedenRepository => _schaeden ?? (_schaeden = new BaseRepository(_dbContext)); + + public IRepository SanierungskonzeptRepository => _sanierungskonzepte ?? (_sanierungskonzepte = new BaseRepository(_dbContext)); + + public IRepository TaetigkeitenRepository => _taetigkeiten ?? (_taetigkeiten = new BaseRepository(_dbContext)); + + public IRepository LeistungsverzeichnisRepository => _leistungsverzeichnisPositionen ?? (_leistungsverzeichnisPositionen = new BaseRepository(_dbContext)); + + public IRepository FahrzeugRepository => _fahrzeuge ?? (_fahrzeuge = new BaseRepository(_dbContext)); + public void Commit() { _dbContext.SaveChanges();