Objectliste angefangen
This commit is contained in:
14
DaSaSo.Domain/DesignModel/SewerObjectsToCountry.cs
Normal file
14
DaSaSo.Domain/DesignModel/SewerObjectsToCountry.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.Domain.DesignModel
|
||||
{
|
||||
public class SewerObjectsToCountry
|
||||
{
|
||||
public string CountryName { get; set; }
|
||||
public IEnumerable<SewerObjectsToStreet> StreetsOfSewerobjects { get; set; }
|
||||
}
|
||||
}
|
||||
17
DaSaSo.Domain/DesignModel/SewerObjectsToStreet.cs
Normal file
17
DaSaSo.Domain/DesignModel/SewerObjectsToStreet.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.Domain.DesignModel
|
||||
{
|
||||
public class SewerObjectsToStreet
|
||||
{
|
||||
public string Streetname { get; set; }
|
||||
public string CountryName { get; set; }
|
||||
public IEnumerable<SewerObject> SewerObjects { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,6 @@ namespace DaSaSo.Domain.Model
|
||||
public string BuildingSiteNumber { get; set; }
|
||||
public string Country { get; set; }
|
||||
public string ContactPerson { get; set; }
|
||||
public IEnumerable<SewerObjects> SewerObjects { get; set; }
|
||||
public IEnumerable<SewerObject> SewerObjects { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
28
DaSaSo.Domain/Model/SewerDamage.cs
Normal file
28
DaSaSo.Domain/Model/SewerDamage.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
namespace DaSaSo.Domain.Model
|
||||
{
|
||||
public enum EDamageType
|
||||
{
|
||||
Riss = 1,
|
||||
Bruch = 2,
|
||||
Scherbe = 4,
|
||||
Wurzel = 8,
|
||||
Inkrustation = 16,
|
||||
Ablagerung = 32,
|
||||
EinrageneStutzen = 64,
|
||||
Infiltration = 128
|
||||
}
|
||||
public enum EPreparationType
|
||||
{
|
||||
CleanedHD = 1,
|
||||
CleanedMechanisch = 2,
|
||||
CleanedRoborter = 4,
|
||||
FaekalienFrei = 8
|
||||
}
|
||||
public class SewerDamage : DomainObject
|
||||
{
|
||||
public SewerObject SewerObject { get; set; }
|
||||
public decimal Distance { get; set; }
|
||||
public EDamageType DamageType { get; set; }
|
||||
public EPreparationType PreparationType { get; set; }
|
||||
}
|
||||
}
|
||||
27
DaSaSo.Domain/Model/SewerObject.cs
Normal file
27
DaSaSo.Domain/Model/SewerObject.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace DaSaSo.Domain.Model
|
||||
{
|
||||
public class SewerObject : DomainObject
|
||||
{
|
||||
public Buildingsite BuildingSite { get; set; }
|
||||
public string StreetName { get; set; }
|
||||
public string ObjektName { get; set; }
|
||||
public string PointFrom { get; set; }
|
||||
public string PointTo { get; set; }
|
||||
public string Material { get; set; }
|
||||
public int DN { get; set; }
|
||||
public decimal SewerLength { get; set; }
|
||||
public bool SewerActivated { get; set; }
|
||||
public bool SewerCleaned { get; set; }
|
||||
public bool WaterBarrier { get; set; }
|
||||
public bool PermitNeeded { get; set; }
|
||||
public bool BuildingsiteBarier { get; set; }
|
||||
public IEnumerable<SewerDamage> SewerDamages { get; set; }
|
||||
|
||||
//Not for Databinding
|
||||
[NotMapped]
|
||||
public bool IsSelected { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
namespace DaSaSo.Domain.Model
|
||||
{
|
||||
public class SewerObjects : DomainObject
|
||||
{
|
||||
public Buildingsite BuildingSite { get; set; }
|
||||
public string StreetName { get; set; }
|
||||
public string ObjektName { get; set; }
|
||||
public string PointFrom { get; set; }
|
||||
public string PointTo { get; set; }
|
||||
public int DN { get; set; }
|
||||
public decimal SewerLength { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,8 @@ namespace DaSaSo.EntityFramework
|
||||
public DbSet<Client>? Clients { get; set; }
|
||||
public DbSet<Project>? Projects { get; set; }
|
||||
public DbSet<Buildingsite>? Buildingsites { get; set; }
|
||||
public DbSet<SewerObject>? SewerObjects { get; set; }
|
||||
public DbSet<SewerDamage>? SewerDamages { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
234
DaSaSo.EntityFramework/Migrations/20210916075225_SewerDamageAdded.Designer.cs
generated
Normal file
234
DaSaSo.EntityFramework/Migrations/20210916075225_SewerDamageAdded.Designer.cs
generated
Normal file
@@ -0,0 +1,234 @@
|
||||
// <auto-generated />
|
||||
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;
|
||||
|
||||
namespace DaSaSo.EntityFramework.Migrations
|
||||
{
|
||||
[DbContext(typeof(DaSaSoDbContext))]
|
||||
[Migration("20210916075225_SewerDamageAdded")]
|
||||
partial class SewerDamageAdded
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63)
|
||||
.HasAnnotation("ProductVersion", "6.0.0-preview.7.21378.4")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<string>("BuildingSiteNumber")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ContactPerson")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Country")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int?>("ProjectId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ProjectId");
|
||||
|
||||
b.ToTable("Buildingsites");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.Client", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<string>("Country")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Firstname")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Postcode")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Street")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Clients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.Project", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int?>("ClientId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ClientId");
|
||||
|
||||
b.ToTable("Projects");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int>("DamageType")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<decimal>("Distance")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<int>("PreparationType")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SewerObjectId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SewerObjectId");
|
||||
|
||||
b.ToTable("SewerDamages");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObjects", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int?>("BuildingSiteId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("BuildingsiteBarier")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<int>("DN")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Material")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ObjektName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PermitNeeded")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("PointFrom")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("PointTo")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("SewerActivated")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("SewerCleaned")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<decimal>("SewerLength")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<string>("StreetName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("WaterBarrier")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("BuildingSiteId");
|
||||
|
||||
b.ToTable("SewerObjects");
|
||||
});
|
||||
|
||||
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.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.SewerObjects", "SewerObject")
|
||||
.WithMany("SewerDamages")
|
||||
.HasForeignKey("SewerObjectId");
|
||||
|
||||
b.Navigation("SewerObject");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObjects", b =>
|
||||
{
|
||||
b.HasOne("DaSaSo.Domain.Model.Buildingsite", "BuildingSite")
|
||||
.WithMany("SewerObjects")
|
||||
.HasForeignKey("BuildingSiteId");
|
||||
|
||||
b.Navigation("BuildingSite");
|
||||
});
|
||||
|
||||
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.SewerObjects", b =>
|
||||
{
|
||||
b.Navigation("SewerDamages");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
namespace DaSaSo.EntityFramework.Migrations
|
||||
{
|
||||
public partial class SewerDamageAdded : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "BuildingsiteBarier",
|
||||
table: "SewerObjects",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Material",
|
||||
table: "SewerObjects",
|
||||
type: "text",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "PermitNeeded",
|
||||
table: "SewerObjects",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "SewerActivated",
|
||||
table: "SewerObjects",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "SewerCleaned",
|
||||
table: "SewerObjects",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "WaterBarrier",
|
||||
table: "SewerObjects",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SewerDamages",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
SewerObjectId = table.Column<int>(type: "integer", nullable: true),
|
||||
Distance = table.Column<decimal>(type: "numeric", nullable: false),
|
||||
DamageType = table.Column<int>(type: "integer", nullable: false),
|
||||
PreparationType = table.Column<int>(type: "integer", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SewerDamages", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SewerDamages_SewerObjects_SewerObjectId",
|
||||
column: x => x.SewerObjectId,
|
||||
principalTable: "SewerObjects",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SewerDamages_SewerObjectId",
|
||||
table: "SewerDamages",
|
||||
column: "SewerObjectId");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "SewerDamages");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "BuildingsiteBarier",
|
||||
table: "SewerObjects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Material",
|
||||
table: "SewerObjects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PermitNeeded",
|
||||
table: "SewerObjects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SewerActivated",
|
||||
table: "SewerObjects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SewerCleaned",
|
||||
table: "SewerObjects");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "WaterBarrier",
|
||||
table: "SewerObjects");
|
||||
}
|
||||
}
|
||||
}
|
||||
234
DaSaSo.EntityFramework/Migrations/20210916135239_SewerObjectsAdded.Designer.cs
generated
Normal file
234
DaSaSo.EntityFramework/Migrations/20210916135239_SewerObjectsAdded.Designer.cs
generated
Normal file
@@ -0,0 +1,234 @@
|
||||
// <auto-generated />
|
||||
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;
|
||||
|
||||
namespace DaSaSo.EntityFramework.Migrations
|
||||
{
|
||||
[DbContext(typeof(DaSaSoDbContext))]
|
||||
[Migration("20210916135239_SewerObjectsAdded")]
|
||||
partial class SewerObjectsAdded
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63)
|
||||
.HasAnnotation("ProductVersion", "6.0.0-preview.7.21378.4")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.Buildingsite", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<string>("BuildingSiteNumber")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ContactPerson")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Country")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int?>("ProjectId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ProjectId");
|
||||
|
||||
b.ToTable("Buildingsites");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.Client", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<string>("Country")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Firstname")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Postcode")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Street")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Clients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.Project", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int?>("ClientId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ClientId");
|
||||
|
||||
b.ToTable("Projects");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int>("DamageType")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<decimal>("Distance")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<int>("PreparationType")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SewerObjectId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SewerObjectId");
|
||||
|
||||
b.ToTable("SewerDamages");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int?>("BuildingSiteId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("BuildingsiteBarier")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<int>("DN")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Material")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ObjektName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PermitNeeded")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("PointFrom")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("PointTo")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("SewerActivated")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("SewerCleaned")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<decimal>("SewerLength")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<string>("StreetName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("WaterBarrier")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("BuildingSiteId");
|
||||
|
||||
b.ToTable("SewerObjects");
|
||||
});
|
||||
|
||||
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.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.Navigation("BuildingSite");
|
||||
});
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace DaSaSo.EntityFramework.Migrations
|
||||
{
|
||||
public partial class SewerObjectsAdded : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -92,7 +92,33 @@ namespace DaSaSo.EntityFramework.Migrations
|
||||
b.ToTable("Projects");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObjects", b =>
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerDamage", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
|
||||
|
||||
b.Property<int>("DamageType")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<decimal>("Distance")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<int>("PreparationType")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SewerObjectId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SewerObjectId");
|
||||
|
||||
b.ToTable("SewerDamages");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -102,24 +128,42 @@ namespace DaSaSo.EntityFramework.Migrations
|
||||
b.Property<int?>("BuildingSiteId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("BuildingsiteBarier")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<int>("DN")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Material")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("ObjektName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PermitNeeded")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("PointFrom")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("PointTo")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("SewerActivated")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("SewerCleaned")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<decimal>("SewerLength")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<string>("StreetName")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("WaterBarrier")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("BuildingSiteId");
|
||||
@@ -145,7 +189,16 @@ namespace DaSaSo.EntityFramework.Migrations
|
||||
b.Navigation("Client");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObjects", b =>
|
||||
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")
|
||||
@@ -168,6 +221,11 @@ namespace DaSaSo.EntityFramework.Migrations
|
||||
{
|
||||
b.Navigation("BuildingSites");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("DaSaSo.Domain.Model.SewerObject", b =>
|
||||
{
|
||||
b.Navigation("SewerDamages");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
|
||||
59
DaSaSo.EntityFramework/Services/SewerObjectDataService.cs
Normal file
59
DaSaSo.EntityFramework/Services/SewerObjectDataService.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.EntityFramework.Services.Common;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.EntityFramework.Services
|
||||
{
|
||||
public class SewerObjectDataService : IDataService<SewerObject>
|
||||
{
|
||||
private readonly DaSaSoDbContextFactory _contextFactory;
|
||||
private readonly NonQueryDataService<SewerObject> _nonQueryDataService;
|
||||
|
||||
public SewerObjectDataService(DaSaSoDbContextFactory contextFactory)
|
||||
{
|
||||
this._contextFactory = contextFactory;
|
||||
_nonQueryDataService = new NonQueryDataService<SewerObject>(contextFactory);
|
||||
}
|
||||
|
||||
public async Task<SewerObject> Create(SewerObject entity)
|
||||
{
|
||||
return await _nonQueryDataService.Create(entity);
|
||||
}
|
||||
|
||||
public async Task<bool> Delete(int id)
|
||||
{
|
||||
return await _nonQueryDataService.Delete(id);
|
||||
}
|
||||
|
||||
public Task<SewerObject> Get(int id)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task<IEnumerable<SewerObject>> GetAll()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<SewerObject>> GetAllByBuildingsite(Buildingsite buildingsite)
|
||||
{
|
||||
int id = buildingsite.Id;
|
||||
using (DaSaSoDbContext context = _contextFactory.CreateDbContext())
|
||||
{
|
||||
IEnumerable<SewerObject> entities = await context.SewerObjects.Where(x => x.BuildingSite.Id == id).ToListAsync();
|
||||
return entities;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<SewerObject> Update(int id, SewerObject entity)
|
||||
{
|
||||
return await _nonQueryDataService.Update(id, entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
37
DaSaSo.InMemoryProvider/InMemoryObjecteListView.cs
Normal file
37
DaSaSo.InMemoryProvider/InMemoryObjecteListView.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.InMemoryProvider
|
||||
{
|
||||
public class InMemoryObjecteListView
|
||||
{
|
||||
private ObservableCollection<SewerObject> _sewerObjects { get; }
|
||||
public ObservableCollection<SewerObject> SewerObjects { get => _sewerObjects; }
|
||||
public InMemoryObjecteListView()
|
||||
{
|
||||
_sewerObjects = new ObservableCollection<SewerObject>();
|
||||
_sewerObjects.Add(new SewerObject()
|
||||
{
|
||||
DN = 200,
|
||||
Material = "STZ",
|
||||
ObjektName = "SW01",
|
||||
PointFrom = "SW01",
|
||||
PointTo = "SW02"
|
||||
});
|
||||
_sewerObjects.Add(
|
||||
new SewerObject()
|
||||
{
|
||||
DN = 200,
|
||||
Material = "STZ",
|
||||
ObjektName = "SW01",
|
||||
PointFrom = "SW01",
|
||||
PointTo = "SW02"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.ViewModel.Commands;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -8,6 +9,7 @@ using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
@@ -15,9 +17,26 @@ namespace DaSaSo.ViewModel
|
||||
{
|
||||
public ObservableCollection<Buildingsite> Buildingsites { get; }
|
||||
|
||||
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly IRenavigator _renavigator;
|
||||
private readonly BuildingsiteDataService _buildingSiteDataService;
|
||||
private Buildingsite? _selectedBuildingsite;
|
||||
|
||||
public Buildingsite? SelectedBuildingsite
|
||||
{
|
||||
get => _selectedBuildingsite;
|
||||
set
|
||||
{
|
||||
if(_selectedBuildingsite != value)
|
||||
{
|
||||
_selectedBuildingsite = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ICommand SelectCommand { get; set; }
|
||||
|
||||
public BuildingsiteListViewModel(IDataService<Buildingsite> buildingSiteDataService, IActualProject actualProject, IRenavigator renavigator)
|
||||
{
|
||||
@@ -25,6 +44,7 @@ namespace DaSaSo.ViewModel
|
||||
_renavigator = renavigator;
|
||||
_buildingSiteDataService = buildingSiteDataService as BuildingsiteDataService;
|
||||
Buildingsites = new ObservableCollection<Buildingsite>();
|
||||
SelectCommand = new SelectBuildingsiteCommand(actualProject, this);
|
||||
|
||||
LoadBuildingsites();
|
||||
}
|
||||
|
||||
27
DaSaSo.ViewModel/Commands/SelectBuildingsiteCommand.cs
Normal file
27
DaSaSo.ViewModel/Commands/SelectBuildingsiteCommand.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.ViewModel.Commands
|
||||
{
|
||||
public class SelectBuildingsiteCommand : AsyncCommandBase
|
||||
{
|
||||
private IActualProject _actualProject;
|
||||
private BuildingsiteListViewModel _buildingsiteListViewModel;
|
||||
|
||||
public SelectBuildingsiteCommand(IActualProject actualProject, BuildingsiteListViewModel buildingsiteListViewModel)
|
||||
{
|
||||
this._actualProject = actualProject;
|
||||
this._buildingsiteListViewModel = buildingsiteListViewModel;
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
var s = _buildingsiteListViewModel.SelectedBuildingsite;
|
||||
_actualProject.SetBuildingSite(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DaSaSo.Domain\DaSaSo.Domain.csproj" />
|
||||
<ProjectReference Include="..\DaSaSo.EntityFramework\DaSaSo.EntityFramework.csproj" />
|
||||
<ProjectReference Include="..\DaSaSo.InMemoryProvider\DaSaSo.InMemoryProvider.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -18,19 +18,21 @@ namespace DaSaSo.ViewModel.Factories
|
||||
private CreateViewModel<ClientEditViewModel> _createClientEditViewModel;
|
||||
private CreateViewModel<ProjectListViewModel> _createProjektListViewModel;
|
||||
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
|
||||
private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel;
|
||||
|
||||
public ViewModelAbstractFactory(
|
||||
CreateViewModel<HomeViewModel> createHomeViewModel,
|
||||
CreateViewModel<ClientListViewModel> createClientListViewModel,
|
||||
CreateViewModel<ClientEditViewModel> createClientEditViewModel,
|
||||
CreateViewModel<ProjectListViewModel> createProjektListViewModel,
|
||||
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel)
|
||||
CreateViewModel<BuildingsiteListViewModel> createBuildingsiteListViewModel, CreateViewModel<SewerObjectListViewModel> createSewerObjectListViewModel)
|
||||
{
|
||||
_createHomeViewModel = createHomeViewModel;
|
||||
_createClientListViewModel = createClientListViewModel;
|
||||
_createClientEditViewModel = createClientEditViewModel;
|
||||
_createProjektListViewModel = createProjektListViewModel;
|
||||
_createBuildingsiteListViewModel = createBuildingsiteListViewModel;
|
||||
_createSewerObjectListViewModel = createSewerObjectListViewModel;
|
||||
}
|
||||
|
||||
public BaseViewModel CreateViewModel(EViewType viewType)
|
||||
@@ -48,9 +50,9 @@ namespace DaSaSo.ViewModel.Factories
|
||||
return _createProjektListViewModel();
|
||||
case EViewType.Buildingsites:
|
||||
return _createBuildingsiteListViewModel();
|
||||
/*case EViewType.SewerObjects:
|
||||
break;
|
||||
*/
|
||||
case EViewType.SewerObjects:
|
||||
return _createSewerObjectListViewModel();
|
||||
|
||||
default:
|
||||
throw new ArgumentException("The Viewtype does not have a ViewModel.", "viewType");
|
||||
}
|
||||
|
||||
92
DaSaSo.ViewModel/SewerObjectListViewModel.cs
Normal file
92
DaSaSo.ViewModel/SewerObjectListViewModel.cs
Normal file
@@ -0,0 +1,92 @@
|
||||
using DaSaSo.Domain.DesignModel;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.InMemoryProvider;
|
||||
using DaSaSo.ViewModel.Interface;
|
||||
using Microsoft.Toolkit.Mvvm.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace DaSaSo.ViewModel
|
||||
{
|
||||
public class SewerObjectListViewModel : BaseViewModel
|
||||
{
|
||||
private readonly SewerObjectDataService _sewerObjectDataService;
|
||||
private readonly IActualProject _actualProject;
|
||||
public ObservableCollection<SewerObjectsToStreet> SewerObjects { get; }
|
||||
public object Testme { get; set; }
|
||||
public ICommand Bearbeiten { get; set; }
|
||||
|
||||
public SewerObjectListViewModel(IDataService<SewerObject> sewerObjectDataService, IActualProject actualProject)
|
||||
{
|
||||
SewerObjects = new ObservableCollection<SewerObjectsToStreet>();
|
||||
this._sewerObjectDataService = (sewerObjectDataService as SewerObjectDataService);
|
||||
this._actualProject = actualProject;
|
||||
|
||||
LoadSewerObjects();
|
||||
Bearbeiten = new RelayCommand(function);
|
||||
}
|
||||
|
||||
private void function()
|
||||
{
|
||||
SewerObject? SelectedSewer = GetSelectedSewer();
|
||||
if (SelectedSewer == null) return;
|
||||
Debugger.Break();
|
||||
}
|
||||
|
||||
private SewerObject? GetSelectedSewer()
|
||||
{
|
||||
SewerObject? result = null;
|
||||
foreach(SewerObjectsToStreet? streetcollection in SewerObjects)
|
||||
{
|
||||
foreach(SewerObject? sewer in streetcollection.SewerObjects)
|
||||
{
|
||||
if (sewer.IsSelected)
|
||||
{
|
||||
result = sewer;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (result != null)
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private async void LoadSewerObjects()
|
||||
{
|
||||
IEnumerable<SewerObject>? sewerobjects = await _sewerObjectDataService.GetAllByBuildingsite(_actualProject.AktuellBaustelle);
|
||||
List<SewerObject> _sewers = sewerobjects.ToList();
|
||||
|
||||
// Get all Streetnames
|
||||
IEnumerable<string>? streetnames = sewerobjects.Select(x => x.StreetName).Distinct();
|
||||
List<SewerObjectsToStreet> result = new List<SewerObjectsToStreet>();
|
||||
|
||||
foreach(string streetname in streetnames)
|
||||
{
|
||||
SewerObjectsToStreet res = new SewerObjectsToStreet();
|
||||
res.Streetname = streetname;
|
||||
// Get all Objects that called in street
|
||||
res.SewerObjects = _sewers.FindAll(x => x.StreetName.Equals(streetname));
|
||||
|
||||
result.Add(res);
|
||||
}
|
||||
InitCollection(SewerObjects, result);
|
||||
}
|
||||
|
||||
private void InitCollection(ObservableCollection<SewerObjectsToStreet> target, List<SewerObjectsToStreet> source)
|
||||
{
|
||||
target.Clear();
|
||||
foreach (var i in source)
|
||||
target.Add(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -43,6 +43,7 @@ namespace DaSaSo.Wpf
|
||||
services.AddSingleton<IDataService<Client>, ClientDataService>();
|
||||
services.AddSingleton<IDataService<Project>, ProjectDataService>();
|
||||
services.AddSingleton<IDataService<Buildingsite>, BuildingsiteDataService>();
|
||||
services.AddSingleton<IDataService<SewerObject>, SewerObjectDataService>();
|
||||
services.AddSingleton<ClientListViewModel>();
|
||||
|
||||
|
||||
@@ -89,6 +90,14 @@ namespace DaSaSo.Wpf
|
||||
services.GetRequiredService<INavigator>()));
|
||||
});
|
||||
|
||||
services.AddSingleton<CreateViewModel<SewerObjectListViewModel>>(services =>
|
||||
{
|
||||
return () => new SewerObjectListViewModel(
|
||||
services.GetRequiredService<IDataService<SewerObject>>(),
|
||||
services.GetRequiredService<IActualProject>()
|
||||
);
|
||||
});
|
||||
|
||||
//services.AddSingleton<INavigator, Navigator>();
|
||||
services.AddScoped<IActualProject, ActualProject>();
|
||||
services.AddScoped<INavigator, Navigator>();
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
<Compile Update="View\Project\ProjectListView.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Update="View\SewerObjecte\SewerObjecteListView.xaml.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Update="Controls\NavigationBar.xaml">
|
||||
@@ -51,6 +54,9 @@
|
||||
<Page Update="View\Project\ProjectListView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="View\SewerObjecte\SewerObjecteListView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Update="Window\MainWindow.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
|
||||
50
DaSaSo.Wpf/Sampledata/SewerObjectListSampleData.cs
Normal file
50
DaSaSo.Wpf/Sampledata/SewerObjectListSampleData.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using DaSaSo.Domain.DesignModel;
|
||||
using DaSaSo.Domain.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.Wpf.Sampledata
|
||||
{
|
||||
|
||||
|
||||
public class SewerObjectListSampleData
|
||||
{
|
||||
public ObservableCollection<SewerObjectsToStreet> SewerObjects { get; private set; }
|
||||
public SewerObjectListSampleData()
|
||||
{
|
||||
SewerObjects = new ObservableCollection<SewerObjectsToStreet>();
|
||||
List<SewerObject> _objecte = new List<SewerObject>();
|
||||
|
||||
_objecte.Add(new SewerObject()
|
||||
{
|
||||
DN = 200,
|
||||
Material = "STZ",
|
||||
ObjektName = "SW01",
|
||||
PointFrom = "SW01",
|
||||
PointTo = "SW02",
|
||||
StreetName = "Barenberg"
|
||||
});
|
||||
_objecte.Add(
|
||||
new SewerObject()
|
||||
{
|
||||
DN = 200,
|
||||
Material = "STZ",
|
||||
ObjektName = "SW01",
|
||||
PointFrom = "SW01",
|
||||
PointTo = "SW02",
|
||||
StreetName = "Barenberg"
|
||||
});
|
||||
|
||||
SewerObjects.Add(new SewerObjectsToStreet()
|
||||
{
|
||||
Streetname = "Barenberg",
|
||||
SewerObjects = _objecte
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,9 @@
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<DataGrid ItemsSource="{Binding Buildingsites}" />
|
||||
<StackPanel>
|
||||
<DataGrid ItemsSource="{Binding Buildingsites}" SelectedItem="{Binding SelectedBuildingsite}" />
|
||||
<Button Content="Selektiere" Command="{Binding SelectCommand}" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
39
DaSaSo.Wpf/View/SewerObjecte/SewerObjecteListView.xaml
Normal file
39
DaSaSo.Wpf/View/SewerObjecte/SewerObjecteListView.xaml
Normal file
@@ -0,0 +1,39 @@
|
||||
<UserControl x:Class="DaSaSo.Wpf.View.SewerObjecte.SewerObjecteListView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:model="clr-namespace:DaSaSo.Domain.Model;assembly=DaSaSo.Domain"
|
||||
xmlns:dsmodel="clr-namespace:DaSaSo.Domain.DesignModel;assembly=DaSaSo.Domain"
|
||||
xmlns:local="clr-namespace:DaSaSo.Wpf.View.SewerObjecte"
|
||||
xmlns:ds="clr-namespace:DaSaSo.Wpf.Sampledata"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<d:UserControl.DataContext>
|
||||
<ds:SewerObjectListSampleData />
|
||||
</d:UserControl.DataContext>
|
||||
<Grid>
|
||||
<StackPanel>
|
||||
<TreeView ItemsSource="{Binding SewerObjects}" SelectedValuePath="{Binding Testme}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type dsmodel:SewerObjectsToStreet}" ItemsSource="{Binding SewerObjects}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding Streetname}" />
|
||||
</StackPanel>
|
||||
</HierarchicalDataTemplate>
|
||||
|
||||
|
||||
<DataTemplate DataType="{x:Type model:SewerObject}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding Material}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
|
||||
</Style>
|
||||
</TreeView.Resources>
|
||||
</TreeView>
|
||||
<Button Content="Bearbeiten" Command="{Binding Bearbeiten}" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
28
DaSaSo.Wpf/View/SewerObjecte/SewerObjecteListView.xaml.cs
Normal file
28
DaSaSo.Wpf/View/SewerObjecte/SewerObjecteListView.xaml.cs
Normal file
@@ -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.SewerObjecte
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for SewerObjecteListView.xaml
|
||||
/// </summary>
|
||||
public partial class SewerObjecteListView : UserControl
|
||||
{
|
||||
public SewerObjecteListView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
xmlns:ClientViews="clr-namespace:DaSaSo.Wpf.View.Client"
|
||||
xmlns:ProjektViews="clr-namespace:DaSaSo.Wpf.View.Project"
|
||||
xmlns:BuildingsiteViews="clr-namespace:DaSaSo.Wpf.View.Buildingsites"
|
||||
xmlns:SewerObjectViews="clr-namespace:DaSaSo.Wpf.View.SewerObjecte"
|
||||
xmlns:controls="clr-namespace:DaSaSo.Wpf.Controls"
|
||||
xmlns:View="clr-namespace:DaSaSo.Wpf.View"
|
||||
xmlns:local="clr-namespace:DaSaSo.Wpf" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
|
||||
@@ -27,6 +28,9 @@
|
||||
<DataTemplate DataType="{x:Type viewmodel:BuildingsiteListViewModel}">
|
||||
<BuildingsiteViews:BuildingSiteListView />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type viewmodel:SewerObjectListViewModel}">
|
||||
<SewerObjectViews:SewerObjecteListView />
|
||||
</DataTemplate>
|
||||
</Window.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -41,6 +45,8 @@
|
||||
<ContentControl Grid.Column="1" Grid.Row="0" Content="{Binding Navigator.CurrentViewModel}" />
|
||||
<StatusBar Grid.Row="1" Grid.ColumnSpan="2">
|
||||
<StatusBarItem Content="{Binding ClientName}" />
|
||||
<StatusBarItem Content="{Binding Projektname}" />
|
||||
<StatusBarItem Content="{Binding Buildingsitename}" />
|
||||
</StatusBar>
|
||||
</Grid>
|
||||
</Window>
|
||||
|
||||
Reference in New Issue
Block a user