diff --git a/KanSan.Base/Interfaces/UI/IGüteschutzEditViewModel.cs b/KanSan.Base/Interfaces/UI/IGüteschutzEditViewModel.cs
new file mode 100644
index 0000000..b557198
--- /dev/null
+++ b/KanSan.Base/Interfaces/UI/IGüteschutzEditViewModel.cs
@@ -0,0 +1,40 @@
+using KanSan.Base.Models;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace KanSan.Base.Interfaces.UI
+{
+ public interface IGüteschutzEditViewModel
+ {
+ string StrasseName { get; set; }
+ string OrtTeilName { get; set; }
+ string Haltungsnummer { get; set; }
+ string VonSchacht { get; set; }
+ string BisSchacht { get; set; }
+ int Durchmesser { get; set; }
+ string Fließrichtung { get; }
+ bool RohrleitungInBetrieb { get; set; }
+ bool HaltungGespült { get; set; }
+ bool WasserHaltungdurchgeführt { get; set; }
+ bool GenehmigungErforderlich { get; set; }
+ bool BaustellenabsicherungErforderlich { get; set; }
+ bool RissBruchScherbe { get; set; }
+ bool WurzelInkrustationAblagerungen { get; set; }
+ bool StutzenEinragend { get; set; }
+ bool Infiltration { get; set; }
+ bool VorbehandeltHD { get; set; }
+ bool VorbehandeltMechanisch { get; set; }
+ bool VorbehandeltFräser { get; set; }
+ bool SchadStelleIstFäkalienFrei { get; set; }
+ int AussenTemperatur { get; set; }
+ int KanalTemperatur { get; set; }
+ bool SichtKontrolleErforderlich { get; set; }
+ bool BerichtErforderlich { get; set; }
+ bool FilmErforderlich { get; set; }
+ bool VideoErforderlich { get; set; }
+ bool DichtheitErforderlich { get; set; }
+
+ GueteschutzProtokoll Sanierungsart { get; set; }
+ }
+}
diff --git a/KanSan.Base/Interfaces/UI/IHarzSanierungViewModel.cs b/KanSan.Base/Interfaces/UI/IHarzSanierungViewModel.cs
new file mode 100644
index 0000000..df82565
--- /dev/null
+++ b/KanSan.Base/Interfaces/UI/IHarzSanierungViewModel.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace KanSan.Base.Interfaces.UI
+{
+ public interface IHarzSanierungViewModel
+ {
+ string HarzMaterialHersteller { get; set; }
+ string HarzMaterialArt { get; set; }
+ string KompACharge { get; set; }
+ string KompBCharge { get; set; }
+ string TrägerHersteller { get; set; }
+ string TrägerCharge { get; set; }
+ bool Auffälligkeit { get; set; }
+ bool FixierungAufPacker { get; set; }
+ DateTime MischZeit { get; set; }
+ DateTime AnpressenPacker { get; set; }
+ DateTime EntlüftenPacker { get; set; }
+ }
+}
diff --git a/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs b/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs
index 7e9c48f..a59fc99 100644
--- a/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs
+++ b/KanSan.Base/Interfaces/UI/ITaetigkeitEditViewModel.cs
@@ -13,6 +13,7 @@ namespace KanSan.Base.Interfaces.UI
bool Erledigt { get; }
decimal Anzahl { get; set; }
string Bemerkung { get; set; }
+ bool HatGueteschutzProtokoll { get; }
LeistungsverzeichnisPosition Leistungsverzeichnis { get; set; }
}
}
diff --git a/KanSan.Base/Migrations/20200602162932_HatGüteschutzprotokoll.Designer.cs b/KanSan.Base/Migrations/20200602162932_HatGüteschutzprotokoll.Designer.cs
new file mode 100644
index 0000000..e1b13f9
--- /dev/null
+++ b/KanSan.Base/Migrations/20200602162932_HatGüteschutzprotokoll.Designer.cs
@@ -0,0 +1,640 @@
+//
+using System;
+using KanSan.Base;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+namespace KanSan.Base.Migrations
+{
+ [DbContext(typeof(KanSanContext))]
+ [Migration("20200602162932_HatGüteschutzprotokoll")]
+ partial class HatGüteschutzprotokoll
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
+ .HasAnnotation("ProductVersion", "3.1.3")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ modelBuilder.Entity("KanSan.Base.Models.Baustelle", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("BaustelleNummer")
+ .HasColumnType("text");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("OrtTeil")
+ .HasColumnType("text");
+
+ b.Property("ProjektID")
+ .HasColumnType("integer");
+
+ b.HasKey("ID");
+
+ b.HasIndex("ProjektID");
+
+ b.ToTable("Baustelle");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.BaustelleLeistungsverzeichnisReferenz", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("BaustelleID")
+ .HasColumnType("integer");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("LVPositionID")
+ .HasColumnType("integer");
+
+ b.HasKey("ID");
+
+ b.HasIndex("BaustelleID");
+
+ b.HasIndex("LVPositionID");
+
+ b.ToTable("LeistungsverzeichnisBaustellen");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Fahrzeug", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("Kennzeichen")
+ .HasColumnType("text");
+
+ b.HasKey("ID");
+
+ b.ToTable("Fahrzeuge");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.GueteschutzProtokoll", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("AussenTemp")
+ .HasColumnType("integer");
+
+ b.Property("Bericht")
+ .HasColumnType("boolean");
+
+ b.Property("Dichtheit")
+ .HasColumnType("boolean");
+
+ b.Property("Discriminator")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Film")
+ .HasColumnType("boolean");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("KanalTemp")
+ .HasColumnType("integer");
+
+ b.Property("SchadPositionID")
+ .HasColumnType("integer");
+
+ b.Property("Sichtkontrolle")
+ .HasColumnType("boolean");
+
+ b.Property("Video")
+ .HasColumnType("boolean");
+
+ b.Property("Wetter")
+ .HasColumnType("integer");
+
+ b.HasKey("ID");
+
+ b.HasIndex("SchadPositionID");
+
+ b.ToTable("GueteschutzProtokoll");
+
+ b.HasDiscriminator("Discriminator").HasValue("GueteschutzProtokoll");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Kunde", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("Nachname")
+ .HasColumnType("text");
+
+ b.Property("Ort")
+ .HasColumnType("text");
+
+ b.Property("PLZ")
+ .HasColumnType("text");
+
+ b.Property("Strasse")
+ .HasColumnType("text");
+
+ b.Property("Vorname")
+ .HasColumnType("text");
+
+ b.HasKey("ID");
+
+ b.ToTable("Kunden");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.LeistungsverzeichnisPosition", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("Beschreibung")
+ .HasColumnType("text");
+
+ b.Property("Einheit")
+ .HasColumnType("text");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("HatGueteschutzProtokol")
+ .HasColumnType("boolean");
+
+ b.Property("Positionsnummer")
+ .HasColumnType("text");
+
+ b.Property("Tag")
+ .HasColumnType("text");
+
+ b.HasKey("ID");
+
+ b.ToTable("LeistungsverzeichnisPositionen");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Projekt", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("KundeID")
+ .HasColumnType("integer");
+
+ b.Property("Ort")
+ .HasColumnType("text");
+
+ b.Property("Projektnummer")
+ .HasColumnType("text");
+
+ b.HasKey("ID");
+
+ b.HasIndex("KundeID");
+
+ b.ToTable("Projekte");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Sanierungskonzept", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("SanierungsTyp")
+ .HasColumnType("integer");
+
+ b.HasKey("ID");
+
+ b.ToTable("Sanierungskonzept");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Schaeden", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("Entfernung")
+ .HasColumnType("numeric");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("Infiltration")
+ .HasColumnType("boolean");
+
+ b.Property("RissBruchScherbe")
+ .HasColumnType("boolean");
+
+ b.Property("SanierungsTyp")
+ .HasColumnType("integer");
+
+ b.Property("SanierungskonzeptID")
+ .HasColumnType("integer");
+
+ b.Property("SchadstelleFaekalienFrei")
+ .HasColumnType("boolean");
+
+ b.Property("SewerID")
+ .HasColumnType("integer");
+
+ b.Property("StutzenEinragend")
+ .HasColumnType("boolean");
+
+ b.Property("VorbehandeltFraeser")
+ .HasColumnType("boolean");
+
+ b.Property("VorbehandeltHD")
+ .HasColumnType("boolean");
+
+ b.Property("VorbehandeltMech")
+ .HasColumnType("boolean");
+
+ b.Property("WurzelInkrustationAblagerungen")
+ .HasColumnType("boolean");
+
+ b.HasKey("ID");
+
+ b.HasIndex("SanierungskonzeptID");
+
+ b.HasIndex("SewerID");
+
+ b.ToTable("Schaeden");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Sewer", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("BaustelleID")
+ .HasColumnType("integer");
+
+ b.Property("BaustellensicherungErforderlich")
+ .HasColumnType("boolean");
+
+ b.Property("DN")
+ .HasColumnType("integer");
+
+ b.Property("GenehmigungErforderlich")
+ .HasColumnType("boolean");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("HaltungGespuelt")
+ .HasColumnType("boolean");
+
+ b.Property("Haltungslaenge")
+ .HasColumnType("numeric");
+
+ b.Property("Material")
+ .HasColumnType("integer");
+
+ b.Property("ObjektNummer")
+ .HasColumnType("text");
+
+ b.Property("PunktObenID")
+ .HasColumnType("integer");
+
+ b.Property("PunktTypeOben")
+ .HasColumnType("integer");
+
+ b.Property("PunktTypeUnten")
+ .HasColumnType("integer");
+
+ b.Property("PunktUntenID")
+ .HasColumnType("integer");
+
+ b.Property("RohrleitungInBetrieb")
+ .HasColumnType("boolean");
+
+ b.Property("SewerType")
+ .HasColumnType("integer");
+
+ b.Property("StrasseName")
+ .HasColumnType("text");
+
+ b.Property("WasserHaltungDurchgefuehrt")
+ .HasColumnType("boolean");
+
+ b.HasKey("ID");
+
+ b.HasIndex("BaustelleID");
+
+ b.HasIndex("PunktObenID");
+
+ b.HasIndex("PunktUntenID");
+
+ b.ToTable("Kanaele");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.SewerPoint", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("Objektnummer")
+ .HasColumnType("text");
+
+ b.HasKey("ID");
+
+ b.ToTable("SewerPoints");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Taetigkeiten", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
+
+ b.Property("Anzahl")
+ .HasColumnType("numeric");
+
+ b.Property("Bemerkung")
+ .HasColumnType("text");
+
+ b.Property("FahrzeugID")
+ .HasColumnType("integer");
+
+ b.Property("GueteschutzProtokolID")
+ .HasColumnType("integer");
+
+ b.Property("GuidNr")
+ .HasColumnType("uuid");
+
+ b.Property("LeistungsverzeichnisPositionID")
+ .HasColumnType("integer");
+
+ b.Property("Mitarbeiter")
+ .HasColumnType("text");
+
+ b.Property("SanierungskonzeptID")
+ .HasColumnType("integer");
+
+ b.Property("ZeitStempel")
+ .HasColumnType("timestamp without time zone");
+
+ b.HasKey("ID");
+
+ b.HasIndex("FahrzeugID");
+
+ b.HasIndex("GueteschutzProtokolID");
+
+ b.HasIndex("LeistungsverzeichnisPositionID");
+
+ b.HasIndex("SanierungskonzeptID");
+
+ b.ToTable("Taetigkeiten");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.HutprofilSan", b =>
+ {
+ b.HasBaseType("KanSan.Base.Models.GueteschutzProtokoll");
+
+ b.Property("AnpressenPacker")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("Auffaelligkeit")
+ .HasColumnType("boolean");
+
+ b.Property("EntlueftenPacker")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("FixierungAufPacker")
+ .HasColumnType("boolean");
+
+ b.Property("Flaechengewicht")
+ .HasColumnType("integer");
+
+ b.Property("HarzMaterialArt")
+ .HasColumnType("text");
+
+ b.Property("HarzmaterialHersteller")
+ .HasColumnType("text");
+
+ b.Property("InnenBeschichtung")
+ .HasColumnType("boolean");
+
+ b.Property("KompACharge")
+ .HasColumnType("text");
+
+ b.Property("KompBCharge")
+ .HasColumnType("text");
+
+ b.Property("MischZeit")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("PackerDruckAnfang")
+ .HasColumnType("double precision");
+
+ b.Property("PackerDruckEnde")
+ .HasColumnType("double precision");
+
+ b.Property("RohrDN")
+ .HasColumnType("text");
+
+ b.Property("SeitenKanalDruckAnfang")
+ .HasColumnType("double precision");
+
+ b.Property("SeitenKanalDruckEnde")
+ .HasColumnType("double precision");
+
+ b.Property("TraegerCharge")
+ .HasColumnType("text");
+
+ b.Property("TraegerHersteller")
+ .HasColumnType("text");
+
+ b.Property("TraegerKurzliner")
+ .HasColumnType("text");
+
+ b.Property("Winkel")
+ .HasColumnType("text");
+
+ b.HasDiscriminator().HasValue("HutprofilSan");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.KurzlinerSan", b =>
+ {
+ b.HasBaseType("KanSan.Base.Models.GueteschutzProtokoll");
+
+ b.Property("AnpressenPacker")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("Auffaelligkeit")
+ .HasColumnType("boolean");
+
+ b.Property("Breit")
+ .HasColumnType("double precision");
+
+ b.Property("EntlueftenPacker")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("FixierungAufPacker")
+ .HasColumnType("boolean");
+
+ b.Property("Flaechengewicht")
+ .HasColumnType("integer");
+
+ b.Property("HarzMaterialArt")
+ .HasColumnType("text");
+
+ b.Property("HarzmaterialHersteller")
+ .HasColumnType("text");
+
+ b.Property("KompACharge")
+ .HasColumnType("text");
+
+ b.Property("KompBCharge")
+ .HasColumnType("text");
+
+ b.Property("Lang")
+ .HasColumnType("double precision");
+
+ b.Property("MischZeit")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("PackerDruckAnfang")
+ .HasColumnType("double precision");
+
+ b.Property("PackerDruckEnde")
+ .HasColumnType("double precision");
+
+ b.Property("TraegerCharge")
+ .HasColumnType("text");
+
+ b.Property("TraegerHersteller")
+ .HasColumnType("text");
+
+ b.Property("TraegerKurzliner")
+ .HasColumnType("text");
+
+ b.HasDiscriminator().HasValue("KurzlinerSan");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Baustelle", b =>
+ {
+ b.HasOne("KanSan.Base.Models.Projekt", "Projekt")
+ .WithMany()
+ .HasForeignKey("ProjektID");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.BaustelleLeistungsverzeichnisReferenz", b =>
+ {
+ b.HasOne("KanSan.Base.Models.Baustelle", "Baustelle")
+ .WithMany()
+ .HasForeignKey("BaustelleID");
+
+ b.HasOne("KanSan.Base.Models.LeistungsverzeichnisPosition", "LVPosition")
+ .WithMany()
+ .HasForeignKey("LVPositionID");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.GueteschutzProtokoll", b =>
+ {
+ b.HasOne("KanSan.Base.Models.Schaeden", "SchadPosition")
+ .WithMany()
+ .HasForeignKey("SchadPositionID");
+ });
+
+ modelBuilder.Entity("KanSan.Base.Models.Projekt", b =>
+ {
+ b.HasOne("KanSan.Base.Models.Kunde", "Kunde")
+ .WithMany("Baustellen")
+ .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")
+ .WithMany("Kanaele")
+ .HasForeignKey("BaustelleID");
+
+ b.HasOne("KanSan.Base.Models.SewerPoint", "PunktOben")
+ .WithMany()
+ .HasForeignKey("PunktObenID");
+
+ b.HasOne("KanSan.Base.Models.SewerPoint", "PunktUnten")
+ .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.GueteschutzProtokoll", "GueteschutzProtokol")
+ .WithMany()
+ .HasForeignKey("GueteschutzProtokolID");
+
+ b.HasOne("KanSan.Base.Models.LeistungsverzeichnisPosition", "LeistungsverzeichnisPosition")
+ .WithMany()
+ .HasForeignKey("LeistungsverzeichnisPositionID");
+
+ b.HasOne("KanSan.Base.Models.Sanierungskonzept", "Sanierungskonzept")
+ .WithMany("Taetigkeiten")
+ .HasForeignKey("SanierungskonzeptID");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/KanSan.Base/Migrations/20200602162932_HatGüteschutzprotokoll.cs b/KanSan.Base/Migrations/20200602162932_HatGüteschutzprotokoll.cs
new file mode 100644
index 0000000..d12411f
--- /dev/null
+++ b/KanSan.Base/Migrations/20200602162932_HatGüteschutzprotokoll.cs
@@ -0,0 +1,23 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+namespace KanSan.Base.Migrations
+{
+ public partial class HatGüteschutzprotokoll : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "HatGueteschutzProtokol",
+ table: "LeistungsverzeichnisPositionen",
+ nullable: false,
+ defaultValue: false);
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "HatGueteschutzProtokol",
+ table: "LeistungsverzeichnisPositionen");
+ }
+ }
+}
diff --git a/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs b/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs
index 652c762..031fe99 100644
--- a/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs
+++ b/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs
@@ -184,6 +184,9 @@ namespace KanSan.Base.Migrations
b.Property("GuidNr")
.HasColumnType("uuid");
+ b.Property("HatGueteschutzProtokol")
+ .HasColumnType("boolean");
+
b.Property("Positionsnummer")
.HasColumnType("text");
diff --git a/KanSan.Base/Models/LeistungsverzeichnisPosition.cs b/KanSan.Base/Models/LeistungsverzeichnisPosition.cs
index a992dd4..25dad46 100644
--- a/KanSan.Base/Models/LeistungsverzeichnisPosition.cs
+++ b/KanSan.Base/Models/LeistungsverzeichnisPosition.cs
@@ -11,5 +11,6 @@ namespace KanSan.Base.Models
public string Beschreibung { get; set; }
public string Einheit { get; set; }
public string Tag { get; set; }
+ public bool HatGueteschutzProtokol { get; set; }
}
}
diff --git a/KanSan.ViewModel/GüteschutzEditViewModel.cs b/KanSan.ViewModel/GüteschutzEditViewModel.cs
new file mode 100644
index 0000000..57a12f6
--- /dev/null
+++ b/KanSan.ViewModel/GüteschutzEditViewModel.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace KanSan.ViewModel
+{
+ class GüteschutzEditViewModel
+ {
+ }
+}
diff --git a/KanSan.ViewModel/KanSan.ViewModel.csproj b/KanSan.ViewModel/KanSan.ViewModel.csproj
index ce73efd..c015015 100644
--- a/KanSan.ViewModel/KanSan.ViewModel.csproj
+++ b/KanSan.ViewModel/KanSan.ViewModel.csproj
@@ -22,6 +22,10 @@
+
+
+
+
diff --git a/KanSan.ViewModel/TaetigkeitEditViewModel.cs b/KanSan.ViewModel/TaetigkeitEditViewModel.cs
index c7118c4..b9942f9 100644
--- a/KanSan.ViewModel/TaetigkeitEditViewModel.cs
+++ b/KanSan.ViewModel/TaetigkeitEditViewModel.cs
@@ -19,9 +19,14 @@ namespace KanSan.ViewModel
decimal anzahl;
string bemerkung;
Taetigkeiten model;
+ bool hatGueteschutzProtokoll = false;
LeistungsverzeichnisPosition leistungsverzeichnis;
List lvPositionen;
#region getsetters
+ public bool HatGueteschutzProtokoll
+ {
+ get => hatGueteschutzProtokoll;
+ }
public Fahrzeug Fahrzeug
{
get => fahrzeug;
diff --git a/KanSan/KanSan.csproj.user b/KanSan/KanSan.csproj.user
index 164fba7..679e7e8 100644
--- a/KanSan/KanSan.csproj.user
+++ b/KanSan/KanSan.csproj.user
@@ -55,6 +55,12 @@
Code
+
+ Code
+
+
+ Code
+
Code
@@ -117,6 +123,12 @@
Designer
+
+ Designer
+
+
+ Designer
+
Designer
diff --git a/KanSan/SampleData/GüteschutzEditViewModelSampleData.cs b/KanSan/SampleData/GüteschutzEditViewModelSampleData.cs
new file mode 100644
index 0000000..fd74976
--- /dev/null
+++ b/KanSan/SampleData/GüteschutzEditViewModelSampleData.cs
@@ -0,0 +1,59 @@
+using KanSan.Base.Interfaces.UI;
+using KanSan.Base.Models;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace KanSan.SampleData
+{
+ class GüteschutzEditViewModelSampleData : IGüteschutzEditViewModel
+ {
+ GueteschutzProtokoll sanierungsart;
+ public string StrasseName { get => "Nussbaumweg"; set => throw new NotImplementedException(); }
+ public string OrtTeilName { get => "Friesoythe"; set => throw new NotImplementedException(); }
+ public string Haltungsnummer { get => "SW01"; set => throw new NotImplementedException(); }
+ public string VonSchacht { get => "SW01"; set => throw new NotImplementedException(); }
+ public string Fließrichtung {
+ get
+ {
+ if (Haltungsnummer.Equals(VonSchacht)) return "IN";
+ if (Haltungsnummer.Equals(BisSchacht)) return "GEGEN";
+ return "Nicht Bekannt, eventuell Hochpunkt?";
+ }
+ }
+ public string BisSchacht { get => "SW02"; set => throw new NotImplementedException(); }
+ public int Durchmesser { get => 300; set => throw new NotImplementedException(); }
+ public bool RohrleitungInBetrieb { get => true; set => throw new NotImplementedException(); }
+ public bool HaltungGespült { get => true; set => throw new NotImplementedException(); }
+ public bool WasserHaltungdurchgeführt { get => false; set => throw new NotImplementedException(); }
+ public bool GenehmigungErforderlich { get => false; set => throw new NotImplementedException(); }
+ public bool BaustellenabsicherungErforderlich { get => true; set => throw new NotImplementedException(); }
+ public bool RissBruchScherbe { get => true; set => throw new NotImplementedException(); }
+ public bool WurzelInkrustationAblagerungen { get => false; set => throw new NotImplementedException(); }
+ public bool StutzenEinragend { get => false; set => throw new NotImplementedException(); }
+ public bool Infiltration { get => true; set => throw new NotImplementedException(); }
+ public bool VorbehandeltHD { get => true; set => throw new NotImplementedException(); }
+ public bool VorbehandeltMechanisch { get => false; set => throw new NotImplementedException(); }
+ public bool VorbehandeltFräser { get => true; set => throw new NotImplementedException(); }
+ public bool SchadStelleIstFäkalienFrei { get => true; set => throw new NotImplementedException(); }
+ public int AussenTemperatur { get => 11; set => throw new NotImplementedException(); }
+ public int KanalTemperatur { get => 12; set => throw new NotImplementedException(); }
+ public bool SichtKontrolleErforderlich { get => true; set => throw new NotImplementedException(); }
+ public bool BerichtErforderlich { get => true; set => throw new NotImplementedException(); }
+ public bool FilmErforderlich { get => false; set => throw new NotImplementedException(); }
+ public bool VideoErforderlich { get => false; set => throw new NotImplementedException(); }
+ public bool DichtheitErforderlich { get => false; set => throw new NotImplementedException(); }
+ public GueteschutzProtokoll Sanierungsart { get => sanierungsart; set => throw new NotImplementedException(); }
+
+ public IHarzSanierungViewModel HarzSanierung { get => harzSanierung; }
+
+ IHarzSanierungViewModel harzSanierung;
+ public GüteschutzEditViewModelSampleData()
+ {
+ HarzSanierungEditViewModelSampleData sample = new HarzSanierungEditViewModelSampleData();
+
+ harzSanierung = sample;
+
+ }
+ }
+}
diff --git a/KanSan/SampleData/HarzSanierungEditViewModelSampleData.cs b/KanSan/SampleData/HarzSanierungEditViewModelSampleData.cs
new file mode 100644
index 0000000..b424334
--- /dev/null
+++ b/KanSan/SampleData/HarzSanierungEditViewModelSampleData.cs
@@ -0,0 +1,22 @@
+using KanSan.Base.Interfaces.UI;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace KanSan.SampleData
+{
+ class HarzSanierungEditViewModelSampleData : IHarzSanierungViewModel
+ {
+ public string HarzMaterialHersteller { get => "Fluvius"; set => throw new NotImplementedException(); }
+ public string HarzMaterialArt { get => "02"; set => throw new NotImplementedException(); }
+ public string KompACharge { get => "2020202392"; set => throw new NotImplementedException(); }
+ public string KompBCharge { get => "29Z-3030"; set => throw new NotImplementedException(); }
+ public string TrägerHersteller { get => "Fluvius"; set => throw new NotImplementedException(); }
+ public string TrägerCharge { get => "3929292"; set => throw new NotImplementedException(); }
+ public bool Auffälligkeit { get => false; set => throw new NotImplementedException(); }
+ public bool FixierungAufPacker { get => true; set => throw new NotImplementedException(); }
+ public DateTime MischZeit { get => new DateTime(2020,05,09,15,09,00); set => throw new NotImplementedException(); }
+ public DateTime AnpressenPacker { get => new DateTime(2020,05,09,15,17,00); set => throw new NotImplementedException(); }
+ public DateTime EntlüftenPacker { get => new DateTime(2020,05,09,17,30,00); set => throw new NotImplementedException(); }
+ }
+}
diff --git a/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs b/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs
new file mode 100644
index 0000000..58d4416
--- /dev/null
+++ b/KanSan/SampleData/SanierungskonzeptListViewModelSampleData.cs
@@ -0,0 +1,33 @@
+using KanSan.Base.Enums;
+using KanSan.Base.Interfaces.UI;
+using KanSan.Base.Models;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace KanSan.SampleData
+{
+ class SanierungskonzeptListViewModelSampleData : ISanierungskonzeptListViewModel
+ {
+ List taetigkeiten = new List();
+ public ESanierung Sanierung => throw new NotImplementedException();
+
+ public List Taetigkeiten => taetigkeiten;
+
+ public bool CanAddNewSan => throw new NotImplementedException();
+
+ public SanierungskonzeptListViewModelSampleData()
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ taetigkeiten.Add(new Base.Models.Taetigkeiten()
+ {
+ GuidNr = Guid.NewGuid(),
+ Anzahl = 2m,
+ Bemerkung = "Test"
+
+ }) ;
+ }
+ }
+ }
+}
diff --git a/KanSan/UI/Güteschutz/UCGüteschutzBerichtEdit.xaml b/KanSan/UI/Güteschutz/UCGüteschutzBerichtEdit.xaml
new file mode 100644
index 0000000..32108af
--- /dev/null
+++ b/KanSan/UI/Güteschutz/UCGüteschutzBerichtEdit.xaml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/KanSan/UI/Güteschutz/UCGüteschutzBerichtEdit.xaml.cs b/KanSan/UI/Güteschutz/UCGüteschutzBerichtEdit.xaml.cs
new file mode 100644
index 0000000..08f860f
--- /dev/null
+++ b/KanSan/UI/Güteschutz/UCGüteschutzBerichtEdit.xaml.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace KanSan.UI
+{
+ ///
+ /// Interaktionslogik für UCGüteschutzBerichtEdit.xaml
+ ///
+ public partial class UCGüteschutzBerichtEdit : UserControl
+ {
+ public UCGüteschutzBerichtEdit()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/KanSan/UI/Objekte/UCObjektEdit.xaml b/KanSan/UI/Objekte/UCObjektEdit.xaml
index 4f0eb78..84b06d5 100644
--- a/KanSan/UI/Objekte/UCObjektEdit.xaml
+++ b/KanSan/UI/Objekte/UCObjektEdit.xaml
@@ -10,7 +10,7 @@
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800" Background="LightGray">
-
+
diff --git a/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml b/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml
index 1d0d127..e6fa059 100644
--- a/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml
+++ b/KanSan/UI/SanMaßnahmen/UCSanMaßnahmenList.xaml
@@ -6,8 +6,12 @@
xmlns:self="clr-namespace:KanSan.ViewModel;assembly=KanSan.ViewModel"
xmlns:model="clr-namespace:KanSan.Base.Models;assembly=KanSan.Base"
xmlns:local="clr-namespace:KanSan.UI"
+ xmlns:sd="clr-namespace:KanSan.SampleData"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
+
+
+
@@ -18,7 +22,7 @@
-
+
diff --git a/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml b/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml
index 1be4cce..2b8e453 100644
--- a/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml
+++ b/KanSan/UI/SanMaßnahmen/UCTaetigkeitEdit.xaml
@@ -25,7 +25,7 @@
-
+
@@ -38,6 +38,7 @@
+
@@ -61,6 +62,7 @@
+
diff --git a/KanSan/UI/UCHarzSanierung.xaml b/KanSan/UI/UCHarzSanierung.xaml
new file mode 100644
index 0000000..215fae6
--- /dev/null
+++ b/KanSan/UI/UCHarzSanierung.xaml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/KanSan/UI/UCHarzSanierung.xaml.cs b/KanSan/UI/UCHarzSanierung.xaml.cs
new file mode 100644
index 0000000..a96be93
--- /dev/null
+++ b/KanSan/UI/UCHarzSanierung.xaml.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace KanSan.UI
+{
+ ///
+ /// Interaktionslogik für UCHarzSanierung.xaml
+ ///
+ public partial class UCHarzSanierung : UserControl
+ {
+ public UCHarzSanierung()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/KanSan/my_controls.xaml b/KanSan/my_controls.xaml
index 1dbbcda..a70c4f2 100644
--- a/KanSan/my_controls.xaml
+++ b/KanSan/my_controls.xaml
@@ -1,6 +1,11 @@
+ xmlns:local="clr-namespace:KanSan"
+ xmlns:l="clr-namespace:KanSan.UI">
+
+
+
+