diff --git a/DaSaSo.Domain/DesignModel/SewerObjectsToStreet.cs b/DaSaSo.Domain/DesignModel/SewerObjectsToStreet.cs index 20b6ea2..fffd4ca 100644 --- a/DaSaSo.Domain/DesignModel/SewerObjectsToStreet.cs +++ b/DaSaSo.Domain/DesignModel/SewerObjectsToStreet.cs @@ -11,6 +11,7 @@ namespace DaSaSo.Domain.DesignModel { public string Streetname { get; set; } public string CountryName { get; set; } + public bool IsSelected { get; set; } public IEnumerable SewerObjects { get; set; } } diff --git a/DaSaSo.Domain/Model/SewerDamage.cs b/DaSaSo.Domain/Model/SewerDamage.cs index fc62d32..6661314 100644 --- a/DaSaSo.Domain/Model/SewerDamage.cs +++ b/DaSaSo.Domain/Model/SewerDamage.cs @@ -23,13 +23,16 @@ CleanedHD = 1, CleanedMechanisch = 2, CleanedRoboter = 4, - FaekalienFrei = 8 + FaekalienFrei = 8, + WaterBaried = 16, + PermitNeeded = 32, + STVO = 64 } public class SewerDamage : DomainObject { public SewerObject SewerObject { get; set; } public decimal Distance { get; set; } public EDamageType DamageType { get; set; } - public EPreparationType PreparationType { get; set; } + } } \ No newline at end of file diff --git a/DaSaSo.Domain/Model/SewerObject.cs b/DaSaSo.Domain/Model/SewerObject.cs index f577599..f907ead 100644 --- a/DaSaSo.Domain/Model/SewerObject.cs +++ b/DaSaSo.Domain/Model/SewerObject.cs @@ -7,7 +7,9 @@ namespace DaSaSo.Domain.Model public class SewerObject : DomainObject { public Buildingsite BuildingSite { get; set; } + public string SanNummer { get; set; } public string StreetName { get; set; } + public string Hausnummer { get; set; } public string ObjektName { get; set; } public SewerPoint PunktOben { get; set; } public EPointType PunktObenType { get; set; } @@ -28,6 +30,8 @@ namespace DaSaSo.Domain.Model [NotMapped] public bool IsSelected { get; set; } + [NotMapped] + public bool IsChanged { get; set; } = false; } } diff --git a/DaSaSo.Domain/Model/SewerRehabilation.cs b/DaSaSo.Domain/Model/SewerRehabilation.cs index 522179a..39632ad 100644 --- a/DaSaSo.Domain/Model/SewerRehabilation.cs +++ b/DaSaSo.Domain/Model/SewerRehabilation.cs @@ -13,12 +13,6 @@ namespace DaSaSo.Domain.Model public decimal TemperatureOutdoors { get; set; } public decimal TemperatureSewer { get; set; } public string Weather { get; set; } - public bool CleanedHD { get; set; } - public bool CleanedMechanisch { get; set; } - public bool CleanedRoborter { get; set; } - public bool WaterBaried { get; set; } - public bool PermitNeeded { get; set; } - public bool STVO { get; set; } - + public EPreparationType PreparationType { get; set; } } } diff --git a/DaSaSo.EntityFramework/Migrations/20211005060234_DeletedPrepartionFromDamage.Designer.cs b/DaSaSo.EntityFramework/Migrations/20211005060234_DeletedPrepartionFromDamage.Designer.cs new file mode 100644 index 0000000..51cc6c5 --- /dev/null +++ b/DaSaSo.EntityFramework/Migrations/20211005060234_DeletedPrepartionFromDamage.Designer.cs @@ -0,0 +1,397 @@ +// +using System; +using DaSaSo.EntityFramework; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace DaSaSo.EntityFramework.Migrations +{ + [DbContext(typeof(DaSaSoDbContext))] + [Migration("20211005060234_DeletedPrepartionFromDamage")] + partial class DeletedPrepartionFromDamage + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.0-rc.1.21452.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuildingSiteNumber") + .HasColumnType("text"); + + b.Property("ContactPerson") + .HasColumnType("text"); + + b.Property("Country") + .HasColumnType("text"); + + b.Property("ProjectId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ProjectId"); + + b.ToTable("Buildingsites"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Country") + .HasColumnType("text"); + + b.Property("Firstname") + .HasColumnType("text"); + + b.Property("LastName") + .HasColumnType("text"); + + b.Property("Postcode") + .HasColumnType("text"); + + b.Property("Street") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Clients"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Impregnation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DN") + .HasColumnType("integer"); + + b.Property("Date") + .HasColumnType("timestamp with time zone"); + + b.Property("IsAvaible") + .HasColumnType("boolean"); + + b.Property("LinerNumber") + .HasColumnType("text"); + + b.Property("Linerlength") + .HasColumnType("numeric"); + + b.Property("Number") + .HasColumnType("text"); + + b.Property("WallThickness") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.ToTable("Impregnations"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.PipeLiner", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClosedEnd") + .HasColumnType("boolean"); + + b.Property("Date") + .HasColumnType("timestamp with time zone"); + + b.Property("ImpregnationId") + .HasColumnType("integer"); + + b.Property("InversionPressure") + .HasColumnType("numeric"); + + b.Property("LinerLength") + .HasColumnType("numeric"); + + b.Property("Operator") + .HasColumnType("text"); + + b.Property("PermitNeeded") + .HasColumnType("boolean"); + + b.Property("Preliner") + .HasColumnType("boolean"); + + b.Property("PreparationType") + .HasColumnType("integer"); + + b.Property("STVO") + .HasColumnType("boolean"); + + b.Property("TemperaturAssembly") + .HasColumnType("numeric"); + + b.Property("TemperaturStorage") + .HasColumnType("numeric"); + + b.Property("TemperatureOutdoors") + .HasColumnType("numeric"); + + b.Property("TemperatureSewer") + .HasColumnType("numeric"); + + b.Property("WaterBaried") + .HasColumnType("boolean"); + + b.Property("Weather") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ImpregnationId"); + + b.ToTable("PipeLiners"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClientId") + .HasColumnType("integer"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Projektnummer") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("Projects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DamageType") + .HasColumnType("integer"); + + b.Property("Distance") + .HasColumnType("numeric"); + + b.Property("SewerObjectId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("SewerObjectId"); + + b.ToTable("SewerDamages"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuildingSiteId") + .HasColumnType("integer"); + + b.Property("BuildingsiteBarier") + .HasColumnType("boolean"); + + b.Property("DN") + .HasColumnType("integer"); + + b.Property("Material") + .HasColumnType("text"); + + b.Property("ObjektName") + .HasColumnType("text"); + + b.Property("PermitNeeded") + .HasColumnType("boolean"); + + b.Property("PipeLinerId") + .HasColumnType("integer"); + + b.Property("PunktObenId") + .HasColumnType("integer"); + + b.Property("PunktObenType") + .HasColumnType("integer"); + + b.Property("PunktUntenId") + .HasColumnType("integer"); + + b.Property("PunktUntenType") + .HasColumnType("integer"); + + b.Property("SewerActivated") + .HasColumnType("boolean"); + + b.Property("SewerCleaned") + .HasColumnType("boolean"); + + b.Property("SewerLength") + .HasColumnType("numeric"); + + b.Property("StreetName") + .HasColumnType("text"); + + b.Property("WaterBarrier") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("BuildingSiteId"); + + b.HasIndex("PipeLinerId"); + + b.HasIndex("PunktObenId"); + + b.HasIndex("PunktUntenId"); + + b.ToTable("SewerObjects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerPoint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Objektnummer") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("SewerPoints"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.HasOne("DaSaSo.Domain.Model.Project", "Project") + .WithMany("BuildingSites") + .HasForeignKey("ProjectId"); + + b.Navigation("Project"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.PipeLiner", b => + { + b.HasOne("DaSaSo.Domain.Model.Impregnation", "Impregnation") + .WithMany() + .HasForeignKey("ImpregnationId"); + + b.Navigation("Impregnation"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.HasOne("DaSaSo.Domain.Model.Client", "Client") + .WithMany("Projects") + .HasForeignKey("ClientId"); + + b.Navigation("Client"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => + { + b.HasOne("DaSaSo.Domain.Model.SewerObject", "SewerObject") + .WithMany("SewerDamages") + .HasForeignKey("SewerObjectId"); + + b.Navigation("SewerObject"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.HasOne("DaSaSo.Domain.Model.Buildingsite", "BuildingSite") + .WithMany("SewerObjects") + .HasForeignKey("BuildingSiteId"); + + b.HasOne("DaSaSo.Domain.Model.PipeLiner", "PipeLiner") + .WithMany() + .HasForeignKey("PipeLinerId"); + + b.HasOne("DaSaSo.Domain.Model.SewerPoint", "PunktOben") + .WithMany() + .HasForeignKey("PunktObenId"); + + b.HasOne("DaSaSo.Domain.Model.SewerPoint", "PunktUnten") + .WithMany() + .HasForeignKey("PunktUntenId"); + + b.Navigation("BuildingSite"); + + b.Navigation("PipeLiner"); + + b.Navigation("PunktOben"); + + b.Navigation("PunktUnten"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.Navigation("SewerObjects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Client", b => + { + b.Navigation("Projects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.Navigation("BuildingSites"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.Navigation("SewerDamages"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/DaSaSo.EntityFramework/Migrations/20211005060234_DeletedPrepartionFromDamage.cs b/DaSaSo.EntityFramework/Migrations/20211005060234_DeletedPrepartionFromDamage.cs new file mode 100644 index 0000000..b090d44 --- /dev/null +++ b/DaSaSo.EntityFramework/Migrations/20211005060234_DeletedPrepartionFromDamage.cs @@ -0,0 +1,70 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace DaSaSo.EntityFramework.Migrations +{ + public partial class DeletedPrepartionFromDamage : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "PreparationType", + table: "SewerDamages"); + + migrationBuilder.DropColumn( + name: "CleanedHD", + table: "PipeLiners"); + + migrationBuilder.DropColumn( + name: "CleanedMechanisch", + table: "PipeLiners"); + + migrationBuilder.DropColumn( + name: "CleanedRoborter", + table: "PipeLiners"); + + migrationBuilder.AddColumn( + name: "PreparationType", + table: "PipeLiners", + type: "integer", + nullable: false, + defaultValue: 0); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "PreparationType", + table: "PipeLiners"); + + migrationBuilder.AddColumn( + name: "PreparationType", + table: "SewerDamages", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "CleanedHD", + table: "PipeLiners", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "CleanedMechanisch", + table: "PipeLiners", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "CleanedRoborter", + table: "PipeLiners", + type: "boolean", + nullable: false, + defaultValue: false); + } + } +} diff --git a/DaSaSo.EntityFramework/Migrations/20211005082652_AddHousenumbers.Designer.cs b/DaSaSo.EntityFramework/Migrations/20211005082652_AddHousenumbers.Designer.cs new file mode 100644 index 0000000..16ce475 --- /dev/null +++ b/DaSaSo.EntityFramework/Migrations/20211005082652_AddHousenumbers.Designer.cs @@ -0,0 +1,394 @@ +// +using System; +using DaSaSo.EntityFramework; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace DaSaSo.EntityFramework.Migrations +{ + [DbContext(typeof(DaSaSoDbContext))] + [Migration("20211005082652_AddHousenumbers")] + partial class AddHousenumbers + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "6.0.0-rc.1.21452.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuildingSiteNumber") + .HasColumnType("text"); + + b.Property("ContactPerson") + .HasColumnType("text"); + + b.Property("Country") + .HasColumnType("text"); + + b.Property("ProjectId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ProjectId"); + + b.ToTable("Buildingsites"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Country") + .HasColumnType("text"); + + b.Property("Firstname") + .HasColumnType("text"); + + b.Property("LastName") + .HasColumnType("text"); + + b.Property("Postcode") + .HasColumnType("text"); + + b.Property("Street") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Clients"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Impregnation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DN") + .HasColumnType("integer"); + + b.Property("Date") + .HasColumnType("timestamp with time zone"); + + b.Property("IsAvaible") + .HasColumnType("boolean"); + + b.Property("LinerNumber") + .HasColumnType("text"); + + b.Property("Linerlength") + .HasColumnType("numeric"); + + b.Property("Number") + .HasColumnType("text"); + + b.Property("WallThickness") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.ToTable("Impregnations"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.PipeLiner", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClosedEnd") + .HasColumnType("boolean"); + + b.Property("Date") + .HasColumnType("timestamp with time zone"); + + b.Property("ImpregnationId") + .HasColumnType("integer"); + + b.Property("InversionPressure") + .HasColumnType("numeric"); + + b.Property("LinerLength") + .HasColumnType("numeric"); + + b.Property("Operator") + .HasColumnType("text"); + + b.Property("Preliner") + .HasColumnType("boolean"); + + b.Property("PreparationType") + .HasColumnType("integer"); + + b.Property("TemperaturAssembly") + .HasColumnType("numeric"); + + b.Property("TemperaturStorage") + .HasColumnType("numeric"); + + b.Property("TemperatureOutdoors") + .HasColumnType("numeric"); + + b.Property("TemperatureSewer") + .HasColumnType("numeric"); + + b.Property("Weather") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ImpregnationId"); + + b.ToTable("PipeLiners"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClientId") + .HasColumnType("integer"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Projektnummer") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("Projects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DamageType") + .HasColumnType("integer"); + + b.Property("Distance") + .HasColumnType("numeric"); + + b.Property("SewerObjectId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("SewerObjectId"); + + b.ToTable("SewerDamages"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BuildingSiteId") + .HasColumnType("integer"); + + b.Property("BuildingsiteBarier") + .HasColumnType("boolean"); + + b.Property("DN") + .HasColumnType("integer"); + + b.Property("Hausnummer") + .HasColumnType("text"); + + b.Property("Material") + .HasColumnType("text"); + + b.Property("ObjektName") + .HasColumnType("text"); + + b.Property("PermitNeeded") + .HasColumnType("boolean"); + + b.Property("PipeLinerId") + .HasColumnType("integer"); + + b.Property("PunktObenId") + .HasColumnType("integer"); + + b.Property("PunktObenType") + .HasColumnType("integer"); + + b.Property("PunktUntenId") + .HasColumnType("integer"); + + b.Property("PunktUntenType") + .HasColumnType("integer"); + + b.Property("SanNummer") + .HasColumnType("text"); + + b.Property("SewerActivated") + .HasColumnType("boolean"); + + b.Property("SewerCleaned") + .HasColumnType("boolean"); + + b.Property("SewerLength") + .HasColumnType("numeric"); + + b.Property("StreetName") + .HasColumnType("text"); + + b.Property("WaterBarrier") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("BuildingSiteId"); + + b.HasIndex("PipeLinerId"); + + b.HasIndex("PunktObenId"); + + b.HasIndex("PunktUntenId"); + + b.ToTable("SewerObjects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerPoint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Objektnummer") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("SewerPoints"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.HasOne("DaSaSo.Domain.Model.Project", "Project") + .WithMany("BuildingSites") + .HasForeignKey("ProjectId"); + + b.Navigation("Project"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.PipeLiner", b => + { + b.HasOne("DaSaSo.Domain.Model.Impregnation", "Impregnation") + .WithMany() + .HasForeignKey("ImpregnationId"); + + b.Navigation("Impregnation"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.HasOne("DaSaSo.Domain.Model.Client", "Client") + .WithMany("Projects") + .HasForeignKey("ClientId"); + + b.Navigation("Client"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b => + { + b.HasOne("DaSaSo.Domain.Model.SewerObject", "SewerObject") + .WithMany("SewerDamages") + .HasForeignKey("SewerObjectId"); + + b.Navigation("SewerObject"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.HasOne("DaSaSo.Domain.Model.Buildingsite", "BuildingSite") + .WithMany("SewerObjects") + .HasForeignKey("BuildingSiteId"); + + b.HasOne("DaSaSo.Domain.Model.PipeLiner", "PipeLiner") + .WithMany() + .HasForeignKey("PipeLinerId"); + + b.HasOne("DaSaSo.Domain.Model.SewerPoint", "PunktOben") + .WithMany() + .HasForeignKey("PunktObenId"); + + b.HasOne("DaSaSo.Domain.Model.SewerPoint", "PunktUnten") + .WithMany() + .HasForeignKey("PunktUntenId"); + + b.Navigation("BuildingSite"); + + b.Navigation("PipeLiner"); + + b.Navigation("PunktOben"); + + b.Navigation("PunktUnten"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b => + { + b.Navigation("SewerObjects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Client", b => + { + b.Navigation("Projects"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.Project", b => + { + b.Navigation("BuildingSites"); + }); + + modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b => + { + b.Navigation("SewerDamages"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/DaSaSo.EntityFramework/Migrations/20211005082652_AddHousenumbers.cs b/DaSaSo.EntityFramework/Migrations/20211005082652_AddHousenumbers.cs new file mode 100644 index 0000000..021788f --- /dev/null +++ b/DaSaSo.EntityFramework/Migrations/20211005082652_AddHousenumbers.cs @@ -0,0 +1,68 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace DaSaSo.EntityFramework.Migrations +{ + public partial class AddHousenumbers : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "PermitNeeded", + table: "PipeLiners"); + + migrationBuilder.DropColumn( + name: "STVO", + table: "PipeLiners"); + + migrationBuilder.DropColumn( + name: "WaterBaried", + table: "PipeLiners"); + + migrationBuilder.AddColumn( + name: "Hausnummer", + table: "SewerObjects", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "SanNummer", + table: "SewerObjects", + type: "text", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Hausnummer", + table: "SewerObjects"); + + migrationBuilder.DropColumn( + name: "SanNummer", + table: "SewerObjects"); + + migrationBuilder.AddColumn( + name: "PermitNeeded", + table: "PipeLiners", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "STVO", + table: "PipeLiners", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "WaterBaried", + table: "PipeLiners", + type: "boolean", + nullable: false, + defaultValue: false); + } + } +} diff --git a/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs b/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs index 24c9897..99bd684 100644 --- a/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs +++ b/DaSaSo.EntityFramework/Migrations/DaSaSoDbContextModelSnapshot.cs @@ -119,15 +119,6 @@ namespace DaSaSo.EntityFramework.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("CleanedHD") - .HasColumnType("boolean"); - - b.Property("CleanedMechanisch") - .HasColumnType("boolean"); - - b.Property("CleanedRoborter") - .HasColumnType("boolean"); - b.Property("ClosedEnd") .HasColumnType("boolean"); @@ -146,14 +137,11 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("Operator") .HasColumnType("text"); - b.Property("PermitNeeded") - .HasColumnType("boolean"); - b.Property("Preliner") .HasColumnType("boolean"); - b.Property("STVO") - .HasColumnType("boolean"); + b.Property("PreparationType") + .HasColumnType("integer"); b.Property("TemperaturAssembly") .HasColumnType("numeric"); @@ -167,9 +155,6 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("TemperatureSewer") .HasColumnType("numeric"); - b.Property("WaterBaried") - .HasColumnType("boolean"); - b.Property("Weather") .HasColumnType("text"); @@ -218,9 +203,6 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("Distance") .HasColumnType("numeric"); - b.Property("PreparationType") - .HasColumnType("integer"); - b.Property("SewerObjectId") .HasColumnType("integer"); @@ -248,6 +230,9 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("DN") .HasColumnType("integer"); + b.Property("Hausnummer") + .HasColumnType("text"); + b.Property("Material") .HasColumnType("text"); @@ -272,6 +257,9 @@ namespace DaSaSo.EntityFramework.Migrations b.Property("PunktUntenType") .HasColumnType("integer"); + b.Property("SanNummer") + .HasColumnType("text"); + b.Property("SewerActivated") .HasColumnType("boolean"); diff --git a/DaSaSo.ViewModel/Commands/SaveSewerCommand.cs b/DaSaSo.ViewModel/Commands/SaveSewerCommand.cs index adfea0a..88b6d1d 100644 --- a/DaSaSo.ViewModel/Commands/SaveSewerCommand.cs +++ b/DaSaSo.ViewModel/Commands/SaveSewerCommand.cs @@ -36,11 +36,14 @@ namespace DaSaSo.ViewModel.Commands _sewerObjectService = sewerObjectService; _renavigator = renavigator; _navigator = navigator; + + } public override async Task ExecuteAsync(object? parameter) { + Trace.WriteLine(_actualProject.AktuellSewerObject.IsChanged); _navigator.CurrentViewModel = null; _renavigator.Renavigate(); } diff --git a/DaSaSo.ViewModel/SewerDamageEditViewModel.cs b/DaSaSo.ViewModel/SewerDamageEditViewModel.cs index 4ae9595..6204d28 100644 --- a/DaSaSo.ViewModel/SewerDamageEditViewModel.cs +++ b/DaSaSo.ViewModel/SewerDamageEditViewModel.cs @@ -16,7 +16,7 @@ namespace DaSaSo.ViewModel private SewerDamage? _damage; public SewerDamageControllViewModel damageControllViewModel { get; set; } - public SewerPreperationControllViewModel preperationControllViewModel { get; set; } + //public SewerPreperationControllViewModel preperationControllViewModel { get; set; } public IRelayCommand Berechne { get; set; } private string? _entfernung; @@ -26,6 +26,7 @@ namespace DaSaSo.ViewModel set { _entfernung = value; + _damage.SewerObject.IsChanged = true; OnPropertyChanged(); } } @@ -46,7 +47,7 @@ namespace DaSaSo.ViewModel Damage = actualProject.AktuellSewerDamage; damageControllViewModel = new SewerDamageControllViewModel(Damage.DamageType); - preperationControllViewModel = new SewerPreperationControllViewModel(Damage.PreparationType); + //preperationControllViewModel = new SewerPreperationControllViewModel(Damage.PreparationType); Entfernung = Damage.Distance.ToString(); @@ -67,10 +68,21 @@ namespace DaSaSo.ViewModel public override void Dispose() { // Alle Werte Speichern, form wurde geändert (Noch nicht in DB!) - Damage.DamageType = damageControllViewModel.CalculateDamageFlags(); - Damage.PreparationType = preperationControllViewModel.CalculatePreparationFlags(); + EDamageType newDamage = damageControllViewModel.CalculateDamageFlags(); + //EPreparationType newPrepartion = preperationControllViewModel.CalculatePreparationFlags(); + if(Damage.DamageType != newDamage) + { + Damage.DamageType = newDamage; + Damage.SewerObject.IsChanged = true; + } + /* if(Damage.PreparationType != newPrepartion) + { + Damage.PreparationType = newPrepartion; + Damage.SewerObject.IsChanged = true; + } + */ damageControllViewModel.Dispose(); - preperationControllViewModel.Dispose(); + //preperationControllViewModel.Dispose(); base.Dispose(); } diff --git a/DaSaSo.ViewModel/SewerStammdatenViewModel.cs b/DaSaSo.ViewModel/SewerStammdatenViewModel.cs index fb0d914..d5133dc 100644 --- a/DaSaSo.ViewModel/SewerStammdatenViewModel.cs +++ b/DaSaSo.ViewModel/SewerStammdatenViewModel.cs @@ -36,6 +36,30 @@ namespace DaSaSo.ViewModel } } } + public string Hausnummer + { + get => Model.Hausnummer; + set + { + if(Model.Hausnummer != value) + { + Model.Hausnummer = value; + OnPropertyChanged(); + } + } + } + public string Sanierungsid + { + get => Model.SanNummer; + set + { + if(Model.SanNummer != value) + { + Model.SanNummer = value; + OnPropertyChanged(); + } + } + } public string Oberepunkt { @@ -155,6 +179,12 @@ namespace DaSaSo.ViewModel Model = _actualProject.AktuellSewerObject; SaveCommand = new SaveSewerStammdatenCommand(this, dataService, sewerpointService); + this.PropertyChanged += SewerStammdatenViewModel_PropertyChanged; + } + + private void SewerStammdatenViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e) + { + Model.IsChanged = true; } ~SewerStammdatenViewModel() diff --git a/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user b/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user index da2408f..eedbcf0 100644 --- a/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user +++ b/DaSaSo.Wpf/DaSaSo.Wpf.csproj.user @@ -43,6 +43,12 @@ Code + + Code + + + Code + Code @@ -99,6 +105,12 @@ Designer + + Designer + + + Designer + Designer diff --git a/DaSaSo.Wpf/Sampledata/SewerDamageListSampleData.cs b/DaSaSo.Wpf/Sampledata/SewerDamageListSampleData.cs index fa03c91..4f78d5a 100644 --- a/DaSaSo.Wpf/Sampledata/SewerDamageListSampleData.cs +++ b/DaSaSo.Wpf/Sampledata/SewerDamageListSampleData.cs @@ -16,7 +16,6 @@ namespace DaSaSo.Wpf.Sampledata Damages.Add(new SewerDamage() { DamageType = EDamageType.Bruch | EDamageType.EinrageneStutzen, - PreparationType = EPreparationType.CleanedHD | EPreparationType.CleanedRoboter, Distance = 12.5m }); diff --git a/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml b/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml index d3786da..8eeb780 100644 --- a/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml +++ b/DaSaSo.Wpf/View/SewerObject/Controls/SewerDamagePreparation.xaml @@ -20,6 +20,9 @@ + + + diff --git a/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml b/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml new file mode 100644 index 0000000..b0fdb13 --- /dev/null +++ b/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml.cs b/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml.cs new file mode 100644 index 0000000..acfff41 --- /dev/null +++ b/DaSaSo.Wpf/View/SewerObject/Controls/SewerRehabilation.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +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 DaSaSo.Wpf.View.SewerObject.Controls +{ + /// + /// Interaction logic for SewerRehabilation.xaml + /// + public partial class SewerRehabilation : UserControl + { + public SewerRehabilation() + { + InitializeComponent(); + } + } +} diff --git a/DaSaSo.Wpf/View/SewerObject/Pipeliner.xaml b/DaSaSo.Wpf/View/SewerObject/Pipeliner.xaml index bea4110..d7a083d 100644 --- a/DaSaSo.Wpf/View/SewerObject/Pipeliner.xaml +++ b/DaSaSo.Wpf/View/SewerObject/Pipeliner.xaml @@ -8,10 +8,12 @@ d:DesignHeight="450" d:DesignWidth="800"> - diff --git a/DaSaSo.Wpf/View/SewerObject/SewerDamageEditView.xaml b/DaSaSo.Wpf/View/SewerObject/SewerDamageEditView.xaml index c8217ee..cf62f66 100644 --- a/DaSaSo.Wpf/View/SewerObject/SewerDamageEditView.xaml +++ b/DaSaSo.Wpf/View/SewerObject/SewerDamageEditView.xaml @@ -17,7 +17,7 @@ - + diff --git a/DaSaSo.Wpf/View/SewerObject/SewerStammdatenView.xaml b/DaSaSo.Wpf/View/SewerObject/SewerStammdatenView.xaml index 302d168..d8700a2 100644 --- a/DaSaSo.Wpf/View/SewerObject/SewerStammdatenView.xaml +++ b/DaSaSo.Wpf/View/SewerObject/SewerStammdatenView.xaml @@ -27,19 +27,22 @@ + - @@ -49,11 +52,14 @@ +