Klassen erweitert

This commit is contained in:
Husky
2020-02-21 11:37:04 +01:00
parent 842c42be58
commit f37a7c5dd4
13 changed files with 574 additions and 32 deletions

View File

@@ -0,0 +1,10 @@
namespace KanSan.Base.Enums
{
public enum ESanierung
{
NONE,
REPERATUR,
RENOVATION,
ERNEUERUNG
}
}

View File

@@ -12,6 +12,11 @@ namespace KanSan.Base.Interfaces
IRepository<Baustelle> BaustelleRepository { get; } IRepository<Baustelle> BaustelleRepository { get; }
IRepository<Sewer> KanaeleRepository { get; } IRepository<Sewer> KanaeleRepository { get; }
IRepository<SewerPoint> ObjekteRepository { get; } IRepository<SewerPoint> ObjekteRepository { get; }
IRepository<Schaeden> SchaedenRepository { get; }
IRepository<Sanierungskonzept> SanierungskonzeptRepository { get; }
IRepository<Taetigkeiten> TaetigkeitenRepository { get; }
IRepository<LeitungsverzeichnisPosition> LeistungsverzeichnisRepository { get; }
IRepository<Fahrzeug> FahrzeugRepository { get; }
void Commit(); void Commit();
} }
} }

View File

@@ -10,6 +10,12 @@ namespace KanSan.Base
public DbSet<Kunde> Kunden { get; set; } public DbSet<Kunde> Kunden { get; set; }
public DbSet<Sewer> Kanaele { get; set; } public DbSet<Sewer> Kanaele { get; set; }
public DbSet<SewerPoint> SewerPoints { get; set; } public DbSet<SewerPoint> SewerPoints { get; set; }
public DbSet<Schaeden> Schaeden { get; set; }
public DbSet<Sanierungskonzept> Sanierungskonzept { get; set; }
public DbSet<Taetigkeiten> Taetigkeiten { get; set; }
public DbSet<LeitungsverzeichnisPosition> LeitungsverzeichnisPositionen { get; set; }
public DbSet<Fahrzeug> Fahrzeuge { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{ {
optionsBuilder.UseSqlite("Data Source=kansan.db"); optionsBuilder.UseSqlite("Data Source=kansan.db");

View File

@@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace KanSan.Base.Migrations namespace KanSan.Base.Migrations
{ {
[DbContext(typeof(KanSanContext))] [DbContext(typeof(KanSanContext))]
[Migration("20200221084801_InitialCommit")] [Migration("20200221103518_InitialCommit")]
partial class InitialCommit partial class InitialCommit
{ {
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -43,6 +43,23 @@ namespace KanSan.Base.Migrations
b.ToTable("Baustelle"); b.ToTable("Baustelle");
}); });
modelBuilder.Entity("KanSan.Base.Models.Fahrzeug", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<string>("Kennzeichen")
.HasColumnType("TEXT");
b.HasKey("ID");
b.ToTable("Fahrzeuge");
});
modelBuilder.Entity("KanSan.Base.Models.Kunde", b => modelBuilder.Entity("KanSan.Base.Models.Kunde", b =>
{ {
b.Property<int>("ID") b.Property<int>("ID")
@@ -72,6 +89,29 @@ namespace KanSan.Base.Migrations
b.ToTable("Kunden"); b.ToTable("Kunden");
}); });
modelBuilder.Entity("KanSan.Base.Models.LeitungsverzeichnisPosition", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Beschreibung")
.HasColumnType("TEXT");
b.Property<string>("Einheit")
.HasColumnType("TEXT");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<string>("Positionsnummer")
.HasColumnType("TEXT");
b.HasKey("ID");
b.ToTable("LeitungsverzeichnisPositionen");
});
modelBuilder.Entity("KanSan.Base.Models.Projekt", b => modelBuilder.Entity("KanSan.Base.Models.Projekt", b =>
{ {
b.Property<int>("ID") b.Property<int>("ID")
@@ -97,6 +137,50 @@ namespace KanSan.Base.Migrations
b.ToTable("Projekte"); b.ToTable("Projekte");
}); });
modelBuilder.Entity("KanSan.Base.Models.Sanierungskonzept", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<int>("SanierungsTyp")
.HasColumnType("INTEGER");
b.HasKey("ID");
b.ToTable("Sanierungskonzept");
});
modelBuilder.Entity("KanSan.Base.Models.Schaeden", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<int>("SanierungsTyp")
.HasColumnType("INTEGER");
b.Property<int?>("SanierungskonzeptID")
.HasColumnType("INTEGER");
b.Property<int?>("SewerID")
.HasColumnType("INTEGER");
b.HasKey("ID");
b.HasIndex("SanierungskonzeptID");
b.HasIndex("SewerID");
b.ToTable("Schaeden");
});
modelBuilder.Entity("KanSan.Base.Models.Sewer", b => modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
{ {
b.Property<int>("ID") b.Property<int>("ID")
@@ -164,6 +248,47 @@ namespace KanSan.Base.Migrations
b.ToTable("SewerPoints"); b.ToTable("SewerPoints");
}); });
modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<decimal>("Anzahl")
.HasColumnType("TEXT");
b.Property<int?>("FahrzeugID")
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<int?>("LeitungsverzeichnisPositionID")
.HasColumnType("INTEGER");
b.Property<string>("Mitarbeiter")
.HasColumnType("TEXT");
b.Property<decimal>("Position")
.HasColumnType("TEXT");
b.Property<int?>("SanierungskonzeptID")
.HasColumnType("INTEGER");
b.Property<DateTime>("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 => modelBuilder.Entity("KanSan.Base.Models.Baustelle", b =>
{ {
b.HasOne("KanSan.Base.Models.Projekt", "Projekt") b.HasOne("KanSan.Base.Models.Projekt", "Projekt")
@@ -178,6 +303,17 @@ namespace KanSan.Base.Migrations
.HasForeignKey("KundeID"); .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 => modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
{ {
b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle") b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle")
@@ -192,6 +328,21 @@ namespace KanSan.Base.Migrations
.WithMany() .WithMany()
.HasForeignKey("PunktUntenID"); .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 #pragma warning restore 612, 618
} }
} }

View File

@@ -7,6 +7,20 @@ namespace KanSan.Base.Migrations
{ {
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.CreateTable(
name: "Fahrzeuge",
columns: table => new
{
ID = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
GuidNr = table.Column<Guid>(nullable: false),
Kennzeichen = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Fahrzeuge", x => x.ID);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Kunden", name: "Kunden",
columns: table => new columns: table => new
@@ -25,6 +39,36 @@ namespace KanSan.Base.Migrations
table.PrimaryKey("PK_Kunden", x => x.ID); table.PrimaryKey("PK_Kunden", x => x.ID);
}); });
migrationBuilder.CreateTable(
name: "LeitungsverzeichnisPositionen",
columns: table => new
{
ID = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
GuidNr = table.Column<Guid>(nullable: false),
Positionsnummer = table.Column<string>(nullable: true),
Beschreibung = table.Column<string>(nullable: true),
Einheit = table.Column<string>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_LeitungsverzeichnisPositionen", x => x.ID);
});
migrationBuilder.CreateTable(
name: "Sanierungskonzept",
columns: table => new
{
ID = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
GuidNr = table.Column<Guid>(nullable: false),
SanierungsTyp = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Sanierungskonzept", x => x.ID);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "SewerPoints", name: "SewerPoints",
columns: table => new columns: table => new
@@ -61,6 +105,44 @@ namespace KanSan.Base.Migrations
onDelete: ReferentialAction.Restrict); onDelete: ReferentialAction.Restrict);
}); });
migrationBuilder.CreateTable(
name: "Taetigkeiten",
columns: table => new
{
ID = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
GuidNr = table.Column<Guid>(nullable: false),
SanierungskonzeptID = table.Column<int>(nullable: true),
FahrzeugID = table.Column<int>(nullable: true),
Mitarbeiter = table.Column<string>(nullable: true),
ZeitStempel = table.Column<DateTime>(nullable: false),
Position = table.Column<decimal>(nullable: false),
LeitungsverzeichnisPositionID = table.Column<int>(nullable: true),
Anzahl = table.Column<decimal>(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( migrationBuilder.CreateTable(
name: "Baustelle", name: "Baustelle",
columns: table => new columns: table => new
@@ -124,6 +206,34 @@ namespace KanSan.Base.Migrations
onDelete: ReferentialAction.Restrict); onDelete: ReferentialAction.Restrict);
}); });
migrationBuilder.CreateTable(
name: "Schaeden",
columns: table => new
{
ID = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true),
GuidNr = table.Column<Guid>(nullable: false),
SewerID = table.Column<int>(nullable: true),
SanierungsTyp = table.Column<int>(nullable: false),
SanierungskonzeptID = table.Column<int>(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( migrationBuilder.CreateIndex(
name: "IX_Baustelle_ProjektID", name: "IX_Baustelle_ProjektID",
table: "Baustelle", table: "Baustelle",
@@ -148,13 +258,53 @@ namespace KanSan.Base.Migrations
name: "IX_Projekte_KundeID", name: "IX_Projekte_KundeID",
table: "Projekte", table: "Projekte",
column: "KundeID"); 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) protected override void Down(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.DropTable(
name: "Schaeden");
migrationBuilder.DropTable(
name: "Taetigkeiten");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Kanaele"); name: "Kanaele");
migrationBuilder.DropTable(
name: "Fahrzeuge");
migrationBuilder.DropTable(
name: "LeitungsverzeichnisPositionen");
migrationBuilder.DropTable(
name: "Sanierungskonzept");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Baustelle"); name: "Baustelle");

View File

@@ -41,6 +41,23 @@ namespace KanSan.Base.Migrations
b.ToTable("Baustelle"); b.ToTable("Baustelle");
}); });
modelBuilder.Entity("KanSan.Base.Models.Fahrzeug", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<string>("Kennzeichen")
.HasColumnType("TEXT");
b.HasKey("ID");
b.ToTable("Fahrzeuge");
});
modelBuilder.Entity("KanSan.Base.Models.Kunde", b => modelBuilder.Entity("KanSan.Base.Models.Kunde", b =>
{ {
b.Property<int>("ID") b.Property<int>("ID")
@@ -70,6 +87,29 @@ namespace KanSan.Base.Migrations
b.ToTable("Kunden"); b.ToTable("Kunden");
}); });
modelBuilder.Entity("KanSan.Base.Models.LeitungsverzeichnisPosition", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Beschreibung")
.HasColumnType("TEXT");
b.Property<string>("Einheit")
.HasColumnType("TEXT");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<string>("Positionsnummer")
.HasColumnType("TEXT");
b.HasKey("ID");
b.ToTable("LeitungsverzeichnisPositionen");
});
modelBuilder.Entity("KanSan.Base.Models.Projekt", b => modelBuilder.Entity("KanSan.Base.Models.Projekt", b =>
{ {
b.Property<int>("ID") b.Property<int>("ID")
@@ -95,6 +135,50 @@ namespace KanSan.Base.Migrations
b.ToTable("Projekte"); b.ToTable("Projekte");
}); });
modelBuilder.Entity("KanSan.Base.Models.Sanierungskonzept", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<int>("SanierungsTyp")
.HasColumnType("INTEGER");
b.HasKey("ID");
b.ToTable("Sanierungskonzept");
});
modelBuilder.Entity("KanSan.Base.Models.Schaeden", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<int>("SanierungsTyp")
.HasColumnType("INTEGER");
b.Property<int?>("SanierungskonzeptID")
.HasColumnType("INTEGER");
b.Property<int?>("SewerID")
.HasColumnType("INTEGER");
b.HasKey("ID");
b.HasIndex("SanierungskonzeptID");
b.HasIndex("SewerID");
b.ToTable("Schaeden");
});
modelBuilder.Entity("KanSan.Base.Models.Sewer", b => modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
{ {
b.Property<int>("ID") b.Property<int>("ID")
@@ -162,6 +246,47 @@ namespace KanSan.Base.Migrations
b.ToTable("SewerPoints"); b.ToTable("SewerPoints");
}); });
modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b =>
{
b.Property<int>("ID")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<decimal>("Anzahl")
.HasColumnType("TEXT");
b.Property<int?>("FahrzeugID")
.HasColumnType("INTEGER");
b.Property<Guid>("GuidNr")
.HasColumnType("TEXT");
b.Property<int?>("LeitungsverzeichnisPositionID")
.HasColumnType("INTEGER");
b.Property<string>("Mitarbeiter")
.HasColumnType("TEXT");
b.Property<decimal>("Position")
.HasColumnType("TEXT");
b.Property<int?>("SanierungskonzeptID")
.HasColumnType("INTEGER");
b.Property<DateTime>("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 => modelBuilder.Entity("KanSan.Base.Models.Baustelle", b =>
{ {
b.HasOne("KanSan.Base.Models.Projekt", "Projekt") b.HasOne("KanSan.Base.Models.Projekt", "Projekt")
@@ -176,6 +301,17 @@ namespace KanSan.Base.Migrations
.HasForeignKey("KundeID"); .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 => modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
{ {
b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle") b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle")
@@ -190,6 +326,21 @@ namespace KanSan.Base.Migrations
.WithMany() .WithMany()
.HasForeignKey("PunktUntenID"); .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 #pragma warning restore 612, 618
} }
} }

View File

@@ -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; }
}
}

View File

@@ -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; }
}
}

View File

@@ -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> Taetigkeiten { get; } = new List<Taetigkeiten>();
}
}

View File

@@ -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; }
}
}

View File

@@ -1,6 +1,7 @@
using KanSan.Base.Enums; using KanSan.Base.Enums;
using KanSan.Base.Interfaces; using KanSan.Base.Interfaces;
using System; using System;
using System.Collections.Generic;
namespace KanSan.Base.Models namespace KanSan.Base.Models
{ {
@@ -18,5 +19,6 @@ namespace KanSan.Base.Models
public SewerPoint PunktUnten { get; set; } public SewerPoint PunktUnten { get; set; }
public int DN { get; set; } public int DN { get; set; }
public EMaterial Material { get; set; } public EMaterial Material { get; set; }
public List<Schaeden> Schaeden { get; } = new List<Schaeden>();
} }
} }

View File

@@ -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; }
}
}

View File

@@ -14,46 +14,37 @@ namespace KanSan.Base
private BaseRepository<Baustelle> _baustellen; private BaseRepository<Baustelle> _baustellen;
private BaseRepository<Sewer> _kanaele; private BaseRepository<Sewer> _kanaele;
private BaseRepository<SewerPoint> _objekte; private BaseRepository<SewerPoint> _objekte;
private BaseRepository<Schaeden> _schaeden;
private BaseRepository<Sanierungskonzept> _sanierungskonzepte;
private BaseRepository<Taetigkeiten> _taetigkeiten;
private BaseRepository<LeitungsverzeichnisPosition> _leistungsverzeichnisPositionen;
private BaseRepository<Fahrzeug> _fahrzeuge;
public UnitOfWork(KanSanContext dbContext) public UnitOfWork(KanSanContext dbContext)
{ {
_dbContext = dbContext; _dbContext = dbContext;
} }
public IRepository<Projekt> ProjekteRepository public IRepository<Projekt> ProjekteRepository => _projekte ?? (_projekte = new BaseRepository<Projekt>(_dbContext));
{
get
{
return _projekte ?? (_projekte = new BaseRepository<Projekt>(_dbContext));
}
}
public IRepository<Kunde> KundenRepository
{
get
{
return _kunden ?? (_kunden = new BaseRepository<Kunde>(_dbContext));
}
}
public IRepository<Baustelle> BaustelleRepository
{
get
{
return _baustellen ?? (_baustellen = new BaseRepository<Baustelle>(_dbContext));
}
}
public IRepository<Sewer> KanaeleRepository
{
get
{
return _kanaele ?? (_kanaele = new BaseRepository<Sewer>(_dbContext));
}
}
public IRepository<Kunde> KundenRepository => _kunden ?? (_kunden = new BaseRepository<Kunde>(_dbContext));
public IRepository<Baustelle> BaustelleRepository => _baustellen ?? (_baustellen = new BaseRepository<Baustelle>(_dbContext));
public IRepository<Sewer> KanaeleRepository => _kanaele ?? (_kanaele = new BaseRepository<Sewer>(_dbContext));
public IRepository<SewerPoint> ObjekteRepository => _objekte ?? (_objekte = new BaseRepository<SewerPoint>(_dbContext)); public IRepository<SewerPoint> ObjekteRepository => _objekte ?? (_objekte = new BaseRepository<SewerPoint>(_dbContext));
public IRepository<Schaeden> SchaedenRepository => _schaeden ?? (_schaeden = new BaseRepository<Schaeden>(_dbContext));
public IRepository<Sanierungskonzept> SanierungskonzeptRepository => _sanierungskonzepte ?? (_sanierungskonzepte = new BaseRepository<Sanierungskonzept>(_dbContext));
public IRepository<Taetigkeiten> TaetigkeitenRepository => _taetigkeiten ?? (_taetigkeiten = new BaseRepository<Taetigkeiten>(_dbContext));
public IRepository<LeitungsverzeichnisPosition> LeistungsverzeichnisRepository => _leistungsverzeichnisPositionen ?? (_leistungsverzeichnisPositionen = new BaseRepository<LeitungsverzeichnisPosition>(_dbContext));
public IRepository<Fahrzeug> FahrzeugRepository => _fahrzeuge ?? (_fahrzeuge = new BaseRepository<Fahrzeug>(_dbContext));
public void Commit() public void Commit()
{ {
_dbContext.SaveChanges(); _dbContext.SaveChanges();