Bewertungssystem angefangen
This commit is contained in:
Submodule Schnittstelle updated: 958f225d49...b7e34a855e
@@ -14,7 +14,7 @@ namespace dcnsanplanung.DAL.Helper
|
|||||||
public WriteToDatabase(string XMLFile, string connectionstring = "Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner")
|
public WriteToDatabase(string XMLFile, string connectionstring = "Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner")
|
||||||
{
|
{
|
||||||
haltungen = new shared.Helper.ImportToSoftware(XMLFile).haltungen;
|
haltungen = new shared.Helper.ImportToSoftware(XMLFile).haltungen;
|
||||||
LVPositionen = new shared.Helper.ImportLVToSoftware(@"C:\Users\damia\source\repos\dcnsanplanung\BE-BS-AWN DW_0001_OOWV_Stamm_LV_Kanalsanierung_xml33.X81").LVPositionen;
|
//LVPositionen = new shared.Helper.ImportLVToSoftware(@"C:\Users\damia\source\repos\dcnsanplanung\BE-BS-AWN DW_0001_OOWV_Stamm_LV_Kanalsanierung_xml33.X81").LVPositionen;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,14 +19,16 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData
|
|||||||
|
|
||||||
public async Task<Haltung> Create(Haltung entity)
|
public async Task<Haltung> Create(Haltung entity)
|
||||||
{
|
{
|
||||||
string command = "INSERT INTO " + tableName + " (guid, ref_projekt_guid, objektbezeichnung, bewertungklasse) VALUES " +
|
string command = "INSERT INTO " + tableName + " (guid, ref_projekt_guid, objektbezeichnung, bewertungklasse, dn, material) VALUES " +
|
||||||
"(@1,@2,@3,@4) RETURNING id";
|
"(@1,@2,@3,@4,@5,@6) RETURNING id";
|
||||||
using (var cmd = new NpgsqlCommand(command, conn))
|
using (var cmd = new NpgsqlCommand(command, conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.AddWithValue("1", entity.Guid.ToString());
|
cmd.Parameters.AddWithValue("1", entity.Guid.ToString());
|
||||||
cmd.Parameters.AddWithValue("2", entity.Ref_Projekt_Guid.ToString());
|
cmd.Parameters.AddWithValue("2", entity.Ref_Projekt_Guid.ToString());
|
||||||
cmd.Parameters.AddWithValue("3", entity.Objektbezeichnung);
|
cmd.Parameters.AddWithValue("3", entity.Objektbezeichnung);
|
||||||
cmd.Parameters.AddWithValue("4", NpgsqlTypes.NpgsqlDbType.Oid, entity.Bewertungklasse);
|
cmd.Parameters.AddWithValue("4", NpgsqlTypes.NpgsqlDbType.Oid, entity.Bewertungklasse);
|
||||||
|
cmd.Parameters.AddWithValue("5", NpgsqlTypes.NpgsqlDbType.Oid, entity.DN);
|
||||||
|
cmd.Parameters.AddWithValue("6", entity.Material);
|
||||||
|
|
||||||
using var reader = await cmd.ExecuteReaderAsync();
|
using var reader = await cmd.ExecuteReaderAsync();
|
||||||
reader.Read();
|
reader.Read();
|
||||||
@@ -69,6 +71,8 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData
|
|||||||
Objektbezeichnung = reader.GetString(3),
|
Objektbezeichnung = reader.GetString(3),
|
||||||
|
|
||||||
Bewertungklasse = Convert.ToUInt32(reader.GetValue(4)),
|
Bewertungklasse = Convert.ToUInt32(reader.GetValue(4)),
|
||||||
|
DN = Convert.ToUInt32(reader.GetValue(5)),
|
||||||
|
Material = reader.GetString(6)
|
||||||
};
|
};
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -14,17 +14,65 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<IEnumerable<Schaden>> GetAllByHaltung(Haltung haltung)
|
||||||
|
{
|
||||||
|
return await GetAllByHaltung(haltung.Guid.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<IEnumerable<Schaden>> GetAllByHaltung(string haltungs_guid)
|
||||||
|
{
|
||||||
|
List<Schaden> result = new List<Schaden>();
|
||||||
|
string command = "SELECT * FROM " + tableName + " WHERE ref_haltung_guid = @1;";
|
||||||
|
using (var cmd = new NpgsqlCommand(command, conn))
|
||||||
|
{
|
||||||
|
cmd.Parameters.AddWithValue("1", haltungs_guid);
|
||||||
|
using (var reader = await cmd.ExecuteReaderAsync())
|
||||||
|
{
|
||||||
|
while (reader.Read())
|
||||||
|
{
|
||||||
|
Schaden adding = parseSchaden(reader);
|
||||||
|
|
||||||
|
result.Add(adding);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Schaden parseSchaden(NpgsqlDataReader reader)
|
||||||
|
{
|
||||||
|
return new Schaden()
|
||||||
|
{
|
||||||
|
ID = reader.GetInt32(0),
|
||||||
|
Guid = Guid.Parse(reader.GetString(1)),
|
||||||
|
Ref_Haltung_Guid = Guid.Parse(reader.GetString(2)),
|
||||||
|
Entfernung = reader.GetDecimal(3),
|
||||||
|
Hauptcode = reader.GetString(4),
|
||||||
|
CH1 = reader.GetString(5),
|
||||||
|
CH2 = reader.GetString(6),
|
||||||
|
Q1 = reader.GetString(7),
|
||||||
|
Q2 = reader.GetString(8),
|
||||||
|
KD = reader.GetDataTypeOID(9),
|
||||||
|
KB = reader.GetDataTypeOID(10),
|
||||||
|
KS = reader.GetDataTypeOID(11),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<Schaden> Create(Schaden entity)
|
public async Task<Schaden> Create(Schaden entity)
|
||||||
{
|
{
|
||||||
string command = "INSERT INTO " + tableName + " (guid, ref_haltung_guid, entfernung, kodierung, schadensklasse) VALUES " +
|
string command = "INSERT INTO " + tableName + " (guid, ref_haltung_guid, entfernung, hauptcode, ch1,ch2,q1,q2) VALUES " +
|
||||||
"(@1,@2,@3,@4,@5) RETURNING id";
|
"(@1,@2,@3,@4,@5,@6,@7,@8) RETURNING id";
|
||||||
using(var cmd = new NpgsqlCommand(command,conn))
|
using(var cmd = new NpgsqlCommand(command,conn))
|
||||||
{
|
{
|
||||||
cmd.Parameters.AddWithValue("1", entity.Guid.ToString());
|
cmd.Parameters.AddWithValue("1", entity.Guid.ToString());
|
||||||
cmd.Parameters.AddWithValue("2", entity.Ref_Haltung_Guid.ToString());
|
cmd.Parameters.AddWithValue("2", entity.Ref_Haltung_Guid.ToString());
|
||||||
cmd.Parameters.AddWithValue("3", entity.Entfernung);
|
cmd.Parameters.AddWithValue("3", entity.Entfernung);
|
||||||
cmd.Parameters.AddWithValue("4", entity.Kodierung);
|
cmd.Parameters.AddWithValue("4", entity.Hauptcode);
|
||||||
cmd.Parameters.AddWithValue("5", NpgsqlTypes.NpgsqlDbType.Oid, entity.Schadensklasse);
|
cmd.Parameters.AddWithValue("5", entity.CH1);
|
||||||
|
cmd.Parameters.AddWithValue("6", entity.CH2);
|
||||||
|
cmd.Parameters.AddWithValue("7", entity.Q1);
|
||||||
|
cmd.Parameters.AddWithValue("8", entity.Q2);
|
||||||
|
//cmd.Parameters.AddWithValue("5", NpgsqlTypes.NpgsqlDbType.Oid, entity.Schadensklasse);
|
||||||
using var reader = await cmd.ExecuteReaderAsync();
|
using var reader = await cmd.ExecuteReaderAsync();
|
||||||
reader.Read();
|
reader.Read();
|
||||||
entity.ID = reader.GetInt32(0);
|
entity.ID = reader.GetInt32(0);
|
||||||
|
|||||||
7
dcnsanplanung.bewertung/Class1.cs
Normal file
7
dcnsanplanung.bewertung/Class1.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace dcnsanplanung.bewertung
|
||||||
|
{
|
||||||
|
public class Class1
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
118
dcnsanplanung.bewertung/M149-3/BAA.cs
Normal file
118
dcnsanplanung.bewertung/M149-3/BAA.cs
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Net.Http.Headers;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public enum CalculateMethods
|
||||||
|
{
|
||||||
|
Dichtheit = 1,
|
||||||
|
Standsicherheit = 2,
|
||||||
|
Betriebsicherheit = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum Geltungsbereich
|
||||||
|
{
|
||||||
|
biegesteif,
|
||||||
|
biegeweich
|
||||||
|
}
|
||||||
|
public abstract class AbstractCode
|
||||||
|
{
|
||||||
|
private CalculateMethods VerfügbareMethoden;
|
||||||
|
string beschreibung;
|
||||||
|
protected string Ch1 = "";
|
||||||
|
protected string Ch2 = "";
|
||||||
|
protected float Q1;
|
||||||
|
protected float Q2;
|
||||||
|
protected int DN;
|
||||||
|
|
||||||
|
public AbstractCode(string beschreibung, CalculateMethods calculateMethods, int DN = -1)
|
||||||
|
{
|
||||||
|
this.beschreibung = beschreibung;
|
||||||
|
this.VerfügbareMethoden = calculateMethods;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual int CalculateSK()
|
||||||
|
{
|
||||||
|
return 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual int CalculateDK()
|
||||||
|
{
|
||||||
|
return 6;
|
||||||
|
}
|
||||||
|
protected virtual int CalculateBK()
|
||||||
|
{
|
||||||
|
return 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void WriteCH1(string Ch1)
|
||||||
|
{
|
||||||
|
this.Ch1 = Ch1;
|
||||||
|
}
|
||||||
|
public virtual void WriteCH2(string Ch2)
|
||||||
|
{
|
||||||
|
this.Ch2 = Ch2;
|
||||||
|
}
|
||||||
|
public virtual void WriteQ1(float Q1)
|
||||||
|
{
|
||||||
|
this.Q1 = Q1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void WriteQ2(float Q2)
|
||||||
|
{
|
||||||
|
this.Q2 = Q2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public class BAA : AbstractCode
|
||||||
|
{
|
||||||
|
Geltungsbereich geltungsbereich;
|
||||||
|
public BAA(Geltungsbereich geltungsbereich) : base("Verformung", CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
this.geltungsbereich = geltungsbereich;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int CalculateSK()
|
||||||
|
{
|
||||||
|
switch(geltungsbereich)
|
||||||
|
{
|
||||||
|
case Geltungsbereich.biegesteif:
|
||||||
|
{
|
||||||
|
switch (Q1)
|
||||||
|
{
|
||||||
|
case >= 7: return 0;
|
||||||
|
case >= 4: return 1;
|
||||||
|
case >= 3: return 2;
|
||||||
|
case >= 1: return 3;
|
||||||
|
default: return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case Geltungsbereich.biegeweich:
|
||||||
|
{
|
||||||
|
switch (Q1)
|
||||||
|
{
|
||||||
|
case >= 15: return 0;
|
||||||
|
case >= 10: return 1;
|
||||||
|
case >= 6: return 2;
|
||||||
|
case >= 2: return 3;
|
||||||
|
default: return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
default: return 6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected override int CalculateBK()
|
||||||
|
{
|
||||||
|
switch(Q1)
|
||||||
|
{
|
||||||
|
case >= 50: return 0;
|
||||||
|
case >= 40: return 1;
|
||||||
|
case >= 25: return 2;
|
||||||
|
case >= 10: return 3;
|
||||||
|
default: return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
109
dcnsanplanung.bewertung/M149-3/BAB.cs
Normal file
109
dcnsanplanung.bewertung/M149-3/BAB.cs
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAB : AbstractCode
|
||||||
|
{
|
||||||
|
public BAB() : base("Rissbildung", CalculateMethods.Standsicherheit | CalculateMethods.Dichtheit)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int CalculateDK()
|
||||||
|
{
|
||||||
|
switch(Ch1)
|
||||||
|
{
|
||||||
|
case "B":
|
||||||
|
case "C":
|
||||||
|
{
|
||||||
|
switch(Ch2)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
case "B":
|
||||||
|
case "C":
|
||||||
|
case "D":
|
||||||
|
case "E":
|
||||||
|
{
|
||||||
|
switch(Q1)
|
||||||
|
{
|
||||||
|
case >= 3: return 1;
|
||||||
|
case >= 2: return 2;
|
||||||
|
default: return 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int CalculateSK()
|
||||||
|
{
|
||||||
|
switch(Ch1)
|
||||||
|
{
|
||||||
|
case "A": return 4;
|
||||||
|
case "B":
|
||||||
|
case "C":
|
||||||
|
{
|
||||||
|
switch(Ch2)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
{
|
||||||
|
switch(DN)
|
||||||
|
{
|
||||||
|
case <= 300:
|
||||||
|
{
|
||||||
|
switch (Q1)
|
||||||
|
{
|
||||||
|
case >= 3: return 0;
|
||||||
|
case >= 2: return 1;
|
||||||
|
case >= 1: return 2;
|
||||||
|
case >= 0.5f: return 3;
|
||||||
|
default: return 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case <= 500:
|
||||||
|
{
|
||||||
|
switch (Q1)
|
||||||
|
{
|
||||||
|
case >= 5: return 0;
|
||||||
|
case >= 3: return 1;
|
||||||
|
case >= 2: return 2;
|
||||||
|
case >= 1: return 3;
|
||||||
|
default: return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case <= 700:
|
||||||
|
{
|
||||||
|
switch (Q1)
|
||||||
|
{
|
||||||
|
case >= 8: return 0;
|
||||||
|
case >= 4: return 1;
|
||||||
|
case >= 3: return 2;
|
||||||
|
case >= 2: return 3;
|
||||||
|
default: return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
switch(Q1)
|
||||||
|
{
|
||||||
|
case >= 8: return 0;
|
||||||
|
case >= 5: return 1;
|
||||||
|
case >= 3: return 2;
|
||||||
|
case >= 1: return 3;
|
||||||
|
default: return 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "B": return 4;
|
||||||
|
default: return 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default: return 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
38
dcnsanplanung.bewertung/M149-3/BAC.cs
Normal file
38
dcnsanplanung.bewertung/M149-3/BAC.cs
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAC : AbstractCode
|
||||||
|
{
|
||||||
|
public BAC() : base("Rohrbruch", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override int CalculateBK()
|
||||||
|
{
|
||||||
|
switch (Ch1)
|
||||||
|
{
|
||||||
|
case "A": return 7;
|
||||||
|
case "C": return 0;
|
||||||
|
}
|
||||||
|
return 10;
|
||||||
|
}
|
||||||
|
protected override int CalculateSK()
|
||||||
|
{
|
||||||
|
switch(Ch1)
|
||||||
|
{
|
||||||
|
case "A": return 7;
|
||||||
|
case "B": return 7;
|
||||||
|
default: return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected override int CalculateDK()
|
||||||
|
{
|
||||||
|
switch (Ch1)
|
||||||
|
{
|
||||||
|
case "A":
|
||||||
|
case "B":
|
||||||
|
return 1;
|
||||||
|
default: return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
dcnsanplanung.bewertung/M149-3/BAD.cs
Normal file
10
dcnsanplanung.bewertung/M149-3/BAD.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAD : AbstractCode
|
||||||
|
{
|
||||||
|
public BAD() : base("Defektes Mauerwerk", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
dcnsanplanung.bewertung/M149-3/BAE.cs
Normal file
10
dcnsanplanung.bewertung/M149-3/BAE.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAE : AbstractCode
|
||||||
|
{
|
||||||
|
public BAE() : base("Fehlender Mörtel", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
dcnsanplanung.bewertung/M149-3/BAF.cs
Normal file
10
dcnsanplanung.bewertung/M149-3/BAF.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAF : AbstractCode
|
||||||
|
{
|
||||||
|
public BAF() : base("Oberflächenschaden", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
dcnsanplanung.bewertung/M149-3/BAG.cs
Normal file
10
dcnsanplanung.bewertung/M149-3/BAG.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAG : AbstractCode
|
||||||
|
{
|
||||||
|
public BAG() : base("Einragender Anschluss", CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
dcnsanplanung.bewertung/M149-3/BAH.cs
Normal file
10
dcnsanplanung.bewertung/M149-3/BAH.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAH : AbstractCode
|
||||||
|
{
|
||||||
|
public BAH() : base("Schadhafter Anschluss", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException () ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
dcnsanplanung.bewertung/M149-3/BAI.cs
Normal file
10
dcnsanplanung.bewertung/M149-3/BAI.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace dcnsanplanung.bewertung.M149_3
|
||||||
|
{
|
||||||
|
public class BAI : AbstractCode
|
||||||
|
{
|
||||||
|
public BAI() : base("Einragendes Dichtungsmaterial", CalculateMethods.Dichtheit | CalculateMethods.Betriebsicherheit)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException () ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
dcnsanplanung.bewertung/dcnsanplanung.bewertung.csproj
Normal file
9
dcnsanplanung.bewertung/dcnsanplanung.bewertung.csproj
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@@ -24,6 +24,8 @@ namespace dcnsanplanung.shared.Helper
|
|||||||
Model.Haltung haltung = new Model.Haltung();
|
Model.Haltung haltung = new Model.Haltung();
|
||||||
haltung.Guid = Guid.NewGuid();
|
haltung.Guid = Guid.NewGuid();
|
||||||
haltung.Objektbezeichnung = src.Stammdaten.Objektbezeichnung;
|
haltung.Objektbezeichnung = src.Stammdaten.Objektbezeichnung;
|
||||||
|
haltung.Material = src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Material;
|
||||||
|
haltung.DN = Convert.ToUInt32(src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite);
|
||||||
haltung.Bewertungklasse = src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Bewertung == null ? 6 : src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Bewertung.KlasseAutomatisch;
|
haltung.Bewertungklasse = src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Bewertung == null ? 6 : src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Bewertung.KlasseAutomatisch;
|
||||||
|
|
||||||
List<Model.Schaden> kodierungen = new List<Model.Schaden>();
|
List<Model.Schaden> kodierungen = new List<Model.Schaden>();
|
||||||
@@ -33,8 +35,14 @@ namespace dcnsanplanung.shared.Helper
|
|||||||
kodierung.Guid = Guid.NewGuid();
|
kodierung.Guid = Guid.NewGuid();
|
||||||
kodierung.Ref_Haltung_Guid = haltung.Guid;
|
kodierung.Ref_Haltung_Guid = haltung.Guid;
|
||||||
kodierung.Entfernung = src_kodierung.Station;
|
kodierung.Entfernung = src_kodierung.Station;
|
||||||
kodierung.Kodierung = string.Format("{0}#{1}#{2}#{3}", src_kodierung.Inspektionskode ,src_kodierung.Charakterisierung1 , src_kodierung.Charakterisierung2 , src_kodierung.Quantifizierung1);
|
kodierung.Hauptcode = src_kodierung.Inspektionskode;
|
||||||
kodierung.Schadensklasse = src_kodierung.Klassifizierung == null ? 6 : src_kodierung.Klassifizierung.MaxSKeAuto;
|
kodierung.CH1 = src_kodierung.Charakterisierung1 != null ? src_kodierung.Charakterisierung1 : "";
|
||||||
|
kodierung.CH2 = src_kodierung.Charakterisierung2 != null ? src_kodierung.Charakterisierung2 : "";
|
||||||
|
kodierung.Q1 = src_kodierung.Quantifizierung1.Numerisch.ToString();
|
||||||
|
kodierung.Q2 = src_kodierung.Quantifizierung2.Numerisch.ToString();
|
||||||
|
|
||||||
|
//string.Format("{0}#{1}#{2}#{3}", src_kodierung.Inspektionskode ,src_kodierung.Charakterisierung1 , src_kodierung.Charakterisierung2 , src_kodierung.Quantifizierung1);
|
||||||
|
//kodierung.Schadensklasse = src_kodierung.Klassifizierung == null ? 6 : src_kodierung.Klassifizierung.MaxSKeAuto;
|
||||||
kodierungen.Add(kodierung);
|
kodierungen.Add(kodierung);
|
||||||
}
|
}
|
||||||
haltung.Kodierungen = kodierungen;
|
haltung.Kodierungen = kodierungen;
|
||||||
|
|||||||
@@ -11,14 +11,8 @@ namespace dcnsanplanung.shared.Model
|
|||||||
public Guid Ref_Projekt_Guid;
|
public Guid Ref_Projekt_Guid;
|
||||||
public string Objektbezeichnung { get; set; } = "";
|
public string Objektbezeichnung { get; set; } = "";
|
||||||
public uint Bewertungklasse { get; set; }
|
public uint Bewertungklasse { get; set; }
|
||||||
|
public uint DN { get; set; }
|
||||||
|
public string Material { get; set; } = "";
|
||||||
public List<Schaden> Kodierungen = new List<Schaden>();
|
public List<Schaden> Kodierungen = new List<Schaden>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Schaden : DBObjekt
|
|
||||||
{
|
|
||||||
public Guid Ref_Haltung_Guid;
|
|
||||||
public decimal Entfernung;
|
|
||||||
public string Kodierung = "";
|
|
||||||
public uint Schadensklasse;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
24
dcnsanplanung.shared/Model/Schaden.cs
Normal file
24
dcnsanplanung.shared/Model/Schaden.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
namespace dcnsanplanung.shared.Model
|
||||||
|
{
|
||||||
|
public class Schaden : DBObjekt
|
||||||
|
{
|
||||||
|
public Guid Ref_Haltung_Guid { get; set; }
|
||||||
|
public decimal Entfernung { get; set; }
|
||||||
|
public string Hauptcode { get; set; } = string.Empty;
|
||||||
|
public string CH1 { get; set; } = string.Empty;
|
||||||
|
public string CH2 { get; set; } = string.Empty;
|
||||||
|
public string Q1 { get; set; } = string.Empty;
|
||||||
|
public string Q2 { get; set; } = string.Empty;
|
||||||
|
public uint Schadensklasse { get; set; }
|
||||||
|
public uint KD { get; set; }
|
||||||
|
public uint KS { get; set; }
|
||||||
|
public uint KB { get; set; }
|
||||||
|
public List<Sanierungsvorgabe> Sanierungsvorgaben { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Sanierungsvorgabe
|
||||||
|
{
|
||||||
|
public string Vorgabe { get; set; } = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
using dcnsanplanung.shared.Model;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace dcnsanplanung.wpf.DesignViewModel
|
||||||
|
{
|
||||||
|
internal class DesignHaltungObjektViewModel
|
||||||
|
{
|
||||||
|
public string Objektbezeichnung { get; set; } = "SW01";
|
||||||
|
public string SK { get; set; } = "0";
|
||||||
|
public string DN { get; set; } = "200";
|
||||||
|
public string Material { get; set; } = "STZ";
|
||||||
|
|
||||||
|
static List<Sanierungsvorgabe> sanierung = new List<Sanierungsvorgabe>()
|
||||||
|
{
|
||||||
|
new Sanierungsvorgabe() { Vorgabe = "Fräsen"},
|
||||||
|
new Sanierungsvorgabe() { Vorgabe = "Reinigen"},
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
public List<Schaden> Schaeden { get; set; } = new List<Schaden>()
|
||||||
|
{
|
||||||
|
new Schaden() { Entfernung = 10, Kodierung="BCA#D#A##", Schadensklasse=0, Sanierungsvorgaben = sanierung},
|
||||||
|
new Schaden() { Entfernung = 20, Kodierung="BCA#D#A##", Schadensklasse=0, Sanierungsvorgaben = sanierung},
|
||||||
|
new Schaden() { Entfernung = 30, Kodierung="BCA#D#A##", Schadensklasse=0, Sanierungsvorgaben = sanierung},
|
||||||
|
new Schaden() { Entfernung = 40, Kodierung="BCA#D#A##", Schadensklasse=0, Sanierungsvorgaben = sanierung},
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,11 +4,12 @@
|
|||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:dcnsanplanung.wpf"
|
xmlns:local="clr-namespace:dcnsanplanung.wpf"
|
||||||
|
xmlns:viewmodel="clr-namespace:dcnsanplanung.wpf.ViewModel"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
|
Title="MainWindow" Height="450" Width="800">
|
||||||
<Grid>
|
<Grid>
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<ComboBox Name="Items" SelectionChanged="Items_SelectionChanged">
|
<ComboBox ItemsSource="{Binding VerfügbareHaltungen}" SelectedItem="{Binding SelectedHaltung}" SelectionChanged="Items_SelectionChanged">
|
||||||
<ComboBox.ItemTemplate>
|
<ComboBox.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
@@ -19,8 +20,8 @@
|
|||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ComboBox.ItemTemplate>
|
</ComboBox.ItemTemplate>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
|
|
||||||
<Button Name="LoadXML" Click="LoadXML_Click" Content="LoadXML" />
|
<Button Name="LoadXML" Command="{Binding LoadXMLFile}" Content="LoadXML" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using dcnsanplanung.shared.Model;
|
using dcnsanplanung.shared.Model;
|
||||||
|
using dcnsanplanung.wpf.ViewModel;
|
||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -25,34 +26,20 @@ namespace dcnsanplanung.wpf
|
|||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
this.DataContext = new MainWindowViewModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void LoadXML_Click(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
DAL.Helper.WriteToDatabase writer = new DAL.Helper.WriteToDatabase(@"C:\Users\damia\source\repos\dcnsanplanung\test_code.xml");
|
|
||||||
//await writer.WriteInHaltung();
|
|
||||||
await writer.WriteInLV();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Items_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
private void Items_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
{
|
{
|
||||||
Haltung? selectedItem = Items.SelectedItem as Haltung;
|
MainWindowViewModel mwvd = (MainWindowViewModel)this.DataContext;
|
||||||
if (selectedItem == null) return;
|
if (mwvd == null || mwvd.SelectedHaltung == null) return;
|
||||||
W_ObjektView w_ObjektView = new W_ObjektView(selectedItem);
|
|
||||||
|
W_ObjektView w_ObjektView = new W_ObjektView();
|
||||||
|
w_ObjektView.DataContext = new HaltungObjektViewModel(mwvd.SelectedHaltung);
|
||||||
w_ObjektView.ShowDialog();
|
w_ObjektView.ShowDialog();
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private async void Window_Loaded(object sender, RoutedEventArgs e)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
DAL.Services.PostgresqlData.HaltungDataService haltungsdataservice = new DAL.Services.PostgresqlData.HaltungDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
|
||||||
var s = await haltungsdataservice.GetAllByProjekt(0);
|
|
||||||
foreach(var item in s)
|
|
||||||
{
|
|
||||||
Items.Items.Add(item);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace dcnsanplanung.wpf.ViewModel
|
namespace dcnsanplanung.wpf.ViewModel
|
||||||
{
|
{
|
||||||
internal class BaseViewModel : INotifyPropertyChanged
|
internal abstract class BaseViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public event PropertyChangedEventHandler? PropertyChanged;
|
public event PropertyChangedEventHandler? PropertyChanged;
|
||||||
|
|
||||||
void OnPropertyChanged([CallerMemberName] string propertyName = "")
|
protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
|
||||||
{
|
{
|
||||||
if(PropertyChanged != null)
|
if(PropertyChanged != null)
|
||||||
{
|
{
|
||||||
|
|||||||
25
dcnsanplanung.wpf/ViewModel/CellViewModel.cs
Normal file
25
dcnsanplanung.wpf/ViewModel/CellViewModel.cs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
namespace dcnsanplanung.wpf.ViewModel
|
||||||
|
{
|
||||||
|
internal class CellViewModel : BaseViewModel, ICellViewModel
|
||||||
|
{
|
||||||
|
private ICell _cell;
|
||||||
|
public ICell Cell {
|
||||||
|
get { return _cell; }
|
||||||
|
set {
|
||||||
|
_cell = value;
|
||||||
|
OnPropertyChanged(nameof(_cell));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public ICommand ChangeCellStateCommand { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
45
dcnsanplanung.wpf/ViewModel/DesignDynamicGridViewModel.cs
Normal file
45
dcnsanplanung.wpf/ViewModel/DesignDynamicGridViewModel.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
|
||||||
|
namespace dcnsanplanung.wpf.ViewModel
|
||||||
|
{
|
||||||
|
internal class DesignDynamicGridViewModel : BaseViewModel
|
||||||
|
{
|
||||||
|
public ObservableCollection<ObservableCollection<ICellViewModel>> Cells { get; } = null;
|
||||||
|
public int GridWidth { get; } = 5;
|
||||||
|
public int GridHeight { get; } = 5;
|
||||||
|
public Color StartColor { get; set; } = Colors.AliceBlue;
|
||||||
|
public Color FinishColor { get; set; } = Colors.DarkBlue;
|
||||||
|
public Color BorderColor { get; set; } = Colors.DarkGray;
|
||||||
|
|
||||||
|
public DesignDynamicGridViewModel()
|
||||||
|
{
|
||||||
|
Cells = new ObservableCollection<ObservableCollection<ICellViewModel>>();
|
||||||
|
ICellViewModel cell = new CellViewModel();
|
||||||
|
Cells.Add(new ObservableCollection<ICellViewModel>()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface ICellViewModel
|
||||||
|
{
|
||||||
|
ICell Cell { get; set; }
|
||||||
|
ICommand ChangeCellStateCommand { get; }
|
||||||
|
}
|
||||||
|
public interface ICell
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// State of the cell.
|
||||||
|
/// </summary>
|
||||||
|
bool State { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
45
dcnsanplanung.wpf/ViewModel/HaltungObjektViewModel.cs
Normal file
45
dcnsanplanung.wpf/ViewModel/HaltungObjektViewModel.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using CommunityToolkit.Mvvm.Input;
|
||||||
|
using dcnsanplanung.DAL.Services.PostgresqlData;
|
||||||
|
using dcnsanplanung.shared.Model;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
namespace dcnsanplanung.wpf.ViewModel
|
||||||
|
{
|
||||||
|
internal class HaltungObjektViewModel : BaseViewModel
|
||||||
|
{
|
||||||
|
private Haltung model;
|
||||||
|
public string Objektbezeichnung { get => model.Objektbezeichnung; }
|
||||||
|
public string SK { get => model.Bewertungklasse.ToString(); }
|
||||||
|
public string DN { get => model.DN.ToString(); }
|
||||||
|
public string Material { get => model.Material; }
|
||||||
|
|
||||||
|
public List<Schaden> Schaeden { get => model.Kodierungen; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public HaltungObjektViewModel(Haltung selectedHaltung)
|
||||||
|
{
|
||||||
|
model = selectedHaltung;
|
||||||
|
LadeSchaeden();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void LadeSchaeden()
|
||||||
|
{
|
||||||
|
SchadenDataService schadenDataService = new SchadenDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||||
|
IEnumerable<Schaden> src_kodierung = await schadenDataService.GetAllByHaltung(model);
|
||||||
|
model.Kodierungen = src_kodierung.ToList();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
OnPropertyChanged(nameof(Schaeden));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
61
dcnsanplanung.wpf/ViewModel/MainWindowViewModel.cs
Normal file
61
dcnsanplanung.wpf/ViewModel/MainWindowViewModel.cs
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
using CommunityToolkit.Mvvm.Input;
|
||||||
|
using dcnsanplanung.shared.Model;
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Input;
|
||||||
|
|
||||||
|
namespace dcnsanplanung.wpf.ViewModel
|
||||||
|
{
|
||||||
|
internal class MainWindowViewModel : BaseViewModel
|
||||||
|
{
|
||||||
|
public List<Haltung> VerfügbareHaltungen { get; set; } = new List<Haltung>();
|
||||||
|
|
||||||
|
public ICommand LoadXMLFile { get; set; }
|
||||||
|
|
||||||
|
private Haltung? selectedHaltung;
|
||||||
|
public Haltung? SelectedHaltung
|
||||||
|
{
|
||||||
|
get => selectedHaltung;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if(selectedHaltung != value)
|
||||||
|
{
|
||||||
|
selectedHaltung = value;
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public MainWindowViewModel()
|
||||||
|
{
|
||||||
|
|
||||||
|
LoadHaltungen();
|
||||||
|
LoadXMLFile = new RelayCommand(() => dooAsync());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task dooAsync()
|
||||||
|
{
|
||||||
|
DAL.Helper.WriteToDatabase writer = new DAL.Helper.WriteToDatabase(@"D:\Airbus\Airbus Nordenham RW Viewer für Sanierungskonzept\Airbus Nordenham RW.xml");
|
||||||
|
await writer.WriteInHaltung();
|
||||||
|
//Debugger.Break();
|
||||||
|
await writer.WriteInLV();
|
||||||
|
}
|
||||||
|
|
||||||
|
private async void LoadHaltungen()
|
||||||
|
{
|
||||||
|
DAL.Services.PostgresqlData.HaltungDataService haltungDataService = new DAL.Services.PostgresqlData.HaltungDataService("Host = localhost; Database = sanplaner; Username = dcnsanplaner; Password = sanplaner");
|
||||||
|
var s = await haltungDataService.GetAllByProjekt(0);
|
||||||
|
foreach(var item in s)
|
||||||
|
{
|
||||||
|
VerfügbareHaltungen.Add(item);
|
||||||
|
}
|
||||||
|
OnPropertyChanged(nameof(VerfügbareHaltungen));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
44
dcnsanplanung.wpf/Views/DynamicGridView.xaml
Normal file
44
dcnsanplanung.wpf/Views/DynamicGridView.xaml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<UserControl x:Class="dcnsanplanung.wpf.Views.DynamicGridView"
|
||||||
|
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:viewModels="clr-namespace:dcnsanplanung.wpf.ViewModel"
|
||||||
|
xmlns:local="clr-namespace:dcnsanplanung.wpf.Views"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="450" d:DesignWidth="800">
|
||||||
|
<UserControl.Resources>
|
||||||
|
<DataTemplate x:Key="CellTemplate">
|
||||||
|
<Border BorderBrush="Transparent"
|
||||||
|
BorderThickness="1 0 1 0"
|
||||||
|
DataContext="{Binding}"></Border>
|
||||||
|
</DataTemplate>
|
||||||
|
</UserControl.Resources>
|
||||||
|
<Grid
|
||||||
|
d:DataContext="{d:DesignInstance Type=viewModels:DesignDynamicGridViewModel, IsDesignTimeCreatable=True}">
|
||||||
|
<DataGrid Name="DynamicGrid"
|
||||||
|
DataContext="{Binding}"
|
||||||
|
ItemsSource="{Binding Path=Cells}"
|
||||||
|
IsEnabled="True"
|
||||||
|
IsTabStop="False"
|
||||||
|
>
|
||||||
|
<DataGrid.Columns>
|
||||||
|
<DataGridTemplateColumn Width="*">
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<ItemsControl ItemsSource="{Binding}"
|
||||||
|
ItemTemplate="{DynamicResource CellTemplate}">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal"/>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
</ItemsControl>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
</DataGrid.Columns>
|
||||||
|
|
||||||
|
</DataGrid>
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
||||||
28
dcnsanplanung.wpf/Views/DynamicGridView.xaml.cs
Normal file
28
dcnsanplanung.wpf/Views/DynamicGridView.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 dcnsanplanung.wpf.Views
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaktionslogik für DynamicGridView.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class DynamicGridView : UserControl
|
||||||
|
{
|
||||||
|
public DynamicGridView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,11 +3,148 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:designViewModel="clr-namespace:dcnsanplanung.wpf.DesignViewModel"
|
||||||
xmlns:local="clr-namespace:dcnsanplanung.wpf"
|
xmlns:local="clr-namespace:dcnsanplanung.wpf"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="W_ObjektView" Height="450" Width="800">
|
xmlns:views="clr-namespace:dcnsanplanung.wpf.Views"
|
||||||
|
Title="W_ObjektView" Height="450" Width="800" d:DataContext="{d:DesignInstance Type=designViewModel:DesignHaltungObjektViewModel, IsDesignTimeCreatable=True}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Label Name="Schadensklasse" />
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="auto" />
|
||||||
|
<RowDefinition />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition />
|
||||||
|
<ColumnDefinition />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="auto" />
|
||||||
|
<RowDefinition Height="auto"/>
|
||||||
|
<RowDefinition Height="auto"/>
|
||||||
|
<RowDefinition Height="auto"/>
|
||||||
|
<RowDefinition Height="auto"/>
|
||||||
|
<RowDefinition Height="auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Label Content="Objektbezeichnung" />
|
||||||
|
<Label Grid.Column="1" Content="{Binding Objektbezeichnung}" />
|
||||||
|
|
||||||
|
<Label Grid.Row="1" Content="Schadenklasse" />
|
||||||
|
<Label Grid.Row="1" Grid.Column="1" Content="{Binding SK}" />
|
||||||
|
|
||||||
|
<Label Grid.Row="2" Content="Durchmesser" />
|
||||||
|
<Label Grid.Row="2" Grid.Column="1" Content="{Binding DN}" />
|
||||||
|
|
||||||
|
<Label Grid.Row="3" Content="Material" />
|
||||||
|
<Label Grid.Row="3" Grid.Column="1" Content="{Binding Material}" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
|
<!--<views:DynamicGridView Grid.Row="1" x:Name="DynamicGridView" DataContext="{Binding Schaeden}"></views:DynamicGridView>-->
|
||||||
|
<ListView Grid.Row="1" ItemsSource="{Binding Schaeden}" AlternationCount="2">
|
||||||
|
<ListView.ItemContainerStyle>
|
||||||
|
<Style TargetType="ListViewItem">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="ListViewItem">
|
||||||
|
<Border BorderBrush="WhiteSmoke">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="50" />
|
||||||
|
<ColumnDefinition Width="80" />
|
||||||
|
<ColumnDefinition Width="10" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="80" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="{Binding Entfernung}" />
|
||||||
|
<TextBlock Grid.Column="1" Text="{Binding Kodierung}" />
|
||||||
|
<TextBlock Grid.Column="2" Text="{Binding Schadensklasse}" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ItemsControl Grid.Column="3" ItemsSource="{Binding Sanierungsvorgaben}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Vorgabe}" />
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal" IsItemsHost="True" />
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
</ItemsControl>
|
||||||
|
|
||||||
|
<Button Grid.Column="4" Content="Editieren" />
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
|
||||||
|
<Setter Property="Background" Value="White" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
|
||||||
|
<Setter Property="Background" Value="LightGray" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsSelected" Value="True">
|
||||||
|
<Setter Property="Background" Value="LightBlue" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter Property="Background" Value="DeepSkyBlue" />
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
</ListView.ItemContainerStyle>
|
||||||
|
<ListView.Style>
|
||||||
|
<Style TargetType="ListView">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="ListView">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<ItemsControl Background="Green" ItemsSource="{Binding Schaeden}">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<StackPanel Orientation="Horizontal" IsItemsHost="True" />
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding}" />
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Grid.Row="1">
|
||||||
|
<ItemsPresenter />
|
||||||
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
</ListView.Style>
|
||||||
|
|
||||||
|
</ListView>
|
||||||
|
<!--<DataGrid Grid.Row="1" ItemsSource="{Binding Schaeden}" AutoGenerateColumns="False">
|
||||||
|
<DataGrid.Columns>
|
||||||
|
<DataGridTextColumn Header="Entfernung" Binding="{Binding Entfernung}" />
|
||||||
|
<DataGridTextColumn Header="Kodierung" Binding="{Binding Kodierung}" />
|
||||||
|
<DataGridTextColumn Header="Schadensklasse" Binding="{Binding Schadensklasse}" />
|
||||||
|
</DataGrid.Columns>
|
||||||
|
|
||||||
|
</DataGrid>-->
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
|||||||
@@ -21,11 +21,9 @@ namespace dcnsanplanung.wpf
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class W_ObjektView : Window
|
public partial class W_ObjektView : Window
|
||||||
{
|
{
|
||||||
public W_ObjektView(Haltung haltung)
|
public W_ObjektView()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
Schadensklasse.Content = haltung.Bewertungklasse;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,10 @@
|
|||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\dcnsanplanung.DAL\dcnsanplanung.DAL.csproj" />
|
<ProjectReference Include="..\dcnsanplanung.DAL\dcnsanplanung.DAL.csproj" />
|
||||||
<ProjectReference Include="..\dcnsanplanung.shared\dcnsanplanung.shared.csproj" />
|
<ProjectReference Include="..\dcnsanplanung.shared\dcnsanplanung.shared.csproj" />
|
||||||
|
|||||||
Reference in New Issue
Block a user