diff --git a/dcnsanplanung.DAL/Services/PostgresqlData/SchadenDataService.cs b/dcnsanplanung.DAL/Services/PostgresqlData/SchadenDataService.cs index bcd2fd9..939e21e 100644 --- a/dcnsanplanung.DAL/Services/PostgresqlData/SchadenDataService.cs +++ b/dcnsanplanung.DAL/Services/PostgresqlData/SchadenDataService.cs @@ -22,7 +22,7 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData public async Task> GetAllByHaltung(string haltungs_guid) { List result = new List(); - string command = "SELECT * FROM " + tableName + " WHERE ref_haltung_guid = @1;"; + string command = "SELECT * FROM " + tableName + " WHERE ref_haltung_guid = @1 ORDER BY id ASC;"; using (var cmd = new NpgsqlCommand(command, conn)) { cmd.Parameters.AddWithValue("1", haltungs_guid); @@ -52,16 +52,17 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData CH2 = reader.GetString(6), Q1 = reader.GetString(7), Q2 = reader.GetString(8), - KD = reader.GetDataTypeOID(9), - KB = reader.GetDataTypeOID(10), - KS = reader.GetDataTypeOID(11), + KD = reader.IsDBNull(9) ? 5 : reader.GetInt32(9), + KB = reader.IsDBNull(10) ? 5 : reader.GetInt32(10), + KS = reader.IsDBNull(11) ? 5 : reader.GetInt32(11), + StreckenschadenCode = reader.GetString(12) }; } public async Task Create(Schaden entity) { - string command = "INSERT INTO " + tableName + " (guid, ref_haltung_guid, entfernung, hauptcode, ch1,ch2,q1,q2) VALUES " + - "(@1,@2,@3,@4,@5,@6,@7,@8) RETURNING id"; + string command = "INSERT INTO " + tableName + " (guid, ref_haltung_guid, entfernung, hauptcode, ch1,ch2,q1,q2,streckenschaden) VALUES " + + "(@1,@2,@3,@4,@5,@6,@7,@8,@9) RETURNING id"; using(var cmd = new NpgsqlCommand(command,conn)) { cmd.Parameters.AddWithValue("1", entity.Guid.ToString()); @@ -72,6 +73,7 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData cmd.Parameters.AddWithValue("6", entity.CH2); cmd.Parameters.AddWithValue("7", entity.Q1); cmd.Parameters.AddWithValue("8", entity.Q2); + cmd.Parameters.AddWithValue("9", entity.StreckenschadenCode); //cmd.Parameters.AddWithValue("5", NpgsqlTypes.NpgsqlDbType.Oid, entity.Schadensklasse); using var reader = await cmd.ExecuteReaderAsync(); reader.Read(); @@ -80,6 +82,21 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData return entity; } + public async Task Update(Schaden entity) + { + string command = @"UPDATE " + tableName + " SET kd=@1, kb=@2, ks=@3 WHERE id=@4"; + using (var cmd = new NpgsqlCommand(command, conn)) + { + cmd.Parameters.AddWithValue("1", entity.KD); + cmd.Parameters.AddWithValue("2", entity.KB); + cmd.Parameters.AddWithValue("3", entity.KS); + cmd.Parameters.AddWithValue("4", entity.ID); + + await cmd.ExecuteNonQueryAsync(); + } + return entity; + } + public async Task InsertSchadenBulk(List schaden) { foreach(var item in schaden) @@ -88,5 +105,14 @@ namespace dcnsanplanung.DAL.Services.PostgresqlData } return true; } + + public async Task UpdateSchadenBuld(List schaden) + { + foreach(var item in schaden) + { + await Update(item); + } + return true; + } } } diff --git a/dcnsanplanung.bewertung/BewM149.cs b/dcnsanplanung.bewertung/BewM149.cs new file mode 100644 index 0000000..914c7d2 --- /dev/null +++ b/dcnsanplanung.bewertung/BewM149.cs @@ -0,0 +1,62 @@ +using dcnsanplanung.bewertung.M149_3; +using System.Diagnostics; + +namespace dcnsanplanung.bewertung +{ + public static class BewM149 + { + + // input Kürzel + public static Dictionary Klassifiziere(string hauptcode, string ch1, string ch2, string q1, string q2, int dn) + { + AbstractCode? abstractCode = null; + + Dictionary result = new Dictionary(); + + switch(hauptcode) + { + case "BAA": abstractCode = new BAA(EGeltungsbereich.biegesteif); break; + case "BAB": abstractCode = new BAB(); break; + case "BAC": abstractCode = new BAC(); break; + case "BAD": abstractCode = new BAD(); break; + case "BAE": abstractCode = new BAE(); break; + case "BAF": abstractCode = new BAF(); break; + case "BAG": abstractCode = new BAG(dn); break; + case "BAH": abstractCode = new BAH(); break; + case "BAI": abstractCode = new BAI(); break; + case "BAJ": abstractCode = new BAJ(); break; + case "BAK": abstractCode = new BAK(); break; + case "BAL": abstractCode = new BAL(); break; + case "BAM": abstractCode = new BAM(); break; + case "BAN": abstractCode = new BAN(); break; + case "BAO": abstractCode = new BAO(); break; + case "BAP": abstractCode = new BAP(); break; + case "BBA": abstractCode = new BBA(); break; + case "BBB": abstractCode = new BBB(); break; + case "BBC": abstractCode = new BBC(); break; + case "BBD": abstractCode = new BBD(); break; + case "BBE": abstractCode = new BBE(); break; + case "BBF": abstractCode = new BBF(); break; + case "BBG": abstractCode = new BBG(); break; + case "BBH": abstractCode = new BBH(); break; + case "BDB": abstractCode = new BDB(); break; + case "BDE": abstractCode = new BDE(); break; + } + + if (abstractCode == null) return result; + + abstractCode.WriteCH1(ch1); + abstractCode.WriteCH2(ch2); + float _q1 = float.Parse(q1); + //float _q2 = float.Parse(q2); + abstractCode.WriteQ1(_q1); + //abstractCode.WriteQ2(_q2); + + result.Add("D", abstractCode.CalculateDK()); + result.Add("B", abstractCode.CalculateBK()); + result.Add("S", abstractCode.CalculateSK()); + + return result; + } + } +} \ No newline at end of file diff --git a/dcnsanplanung.bewertung/Class1.cs b/dcnsanplanung.bewertung/Class1.cs deleted file mode 100644 index c78586d..0000000 --- a/dcnsanplanung.bewertung/Class1.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace dcnsanplanung.bewertung -{ - public class Class1 - { - - } -} \ No newline at end of file diff --git a/dcnsanplanung.bewertung/M149-3/AbstractCode.cs b/dcnsanplanung.bewertung/M149-3/AbstractCode.cs new file mode 100644 index 0000000..1f92e09 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/AbstractCode.cs @@ -0,0 +1,49 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public abstract class AbstractCode + { + string beschreibung; + protected string Ch1 = ""; + protected string Ch2 = ""; + protected float Q1; + protected float Q2; + protected int DN; + + public AbstractCode(string beschreibung, int DN = -1) + { + this.beschreibung = beschreibung; + } + + public virtual int CalculateSK() + { + return 5; + } + + public virtual int CalculateDK() + { + return 5; + } + public virtual int CalculateBK() + { + return 5; + } + + 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; + } + } +} diff --git a/dcnsanplanung.bewertung/M149-3/BAA.cs b/dcnsanplanung.bewertung/M149-3/BAA.cs index 78f9f2e..1c7d648 100644 --- a/dcnsanplanung.bewertung/M149-3/BAA.cs +++ b/dcnsanplanung.bewertung/M149-3/BAA.cs @@ -5,79 +5,19 @@ 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) + EGeltungsbereich geltungsbereich; + public BAA(EGeltungsbereich geltungsbereich) : base("Verformung") { this.geltungsbereich = geltungsbereich; } - protected override int CalculateSK() + public override int CalculateSK() { switch(geltungsbereich) { - case Geltungsbereich.biegesteif: + case EGeltungsbereich.biegesteif: { switch (Q1) { @@ -88,7 +28,7 @@ namespace dcnsanplanung.bewertung.M149_3 default: return 4; } } - case Geltungsbereich.biegeweich: + case EGeltungsbereich.biegeweich: { switch (Q1) { @@ -103,7 +43,7 @@ namespace dcnsanplanung.bewertung.M149_3 default: return 6; } } - protected override int CalculateBK() + public override int CalculateBK() { switch(Q1) { diff --git a/dcnsanplanung.bewertung/M149-3/BAB.cs b/dcnsanplanung.bewertung/M149-3/BAB.cs index 33f0924..a3a3a30 100644 --- a/dcnsanplanung.bewertung/M149-3/BAB.cs +++ b/dcnsanplanung.bewertung/M149-3/BAB.cs @@ -2,11 +2,11 @@ { public class BAB : AbstractCode { - public BAB() : base("Rissbildung", CalculateMethods.Standsicherheit | CalculateMethods.Dichtheit) + public BAB() : base("Rissbildung") { } - protected override int CalculateDK() + public override int CalculateDK() { switch(Ch1) { @@ -33,10 +33,10 @@ break; } - return 10; + return 5; } - protected override int CalculateSK() + public override int CalculateSK() { switch(Ch1) { diff --git a/dcnsanplanung.bewertung/M149-3/BAC.cs b/dcnsanplanung.bewertung/M149-3/BAC.cs index 468c10f..3117b93 100644 --- a/dcnsanplanung.bewertung/M149-3/BAC.cs +++ b/dcnsanplanung.bewertung/M149-3/BAC.cs @@ -2,20 +2,20 @@ { public class BAC : AbstractCode { - public BAC() : base("Rohrbruch", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit) + public BAC() : base("Rohrbruch") { } - protected override int CalculateBK() + public override int CalculateBK() { switch (Ch1) { case "A": return 7; case "C": return 0; } - return 10; + return 5; } - protected override int CalculateSK() + public override int CalculateSK() { switch(Ch1) { @@ -24,7 +24,7 @@ default: return 0; } } - protected override int CalculateDK() + public override int CalculateDK() { switch (Ch1) { diff --git a/dcnsanplanung.bewertung/M149-3/BAD.cs b/dcnsanplanung.bewertung/M149-3/BAD.cs index 56c0d95..6586152 100644 --- a/dcnsanplanung.bewertung/M149-3/BAD.cs +++ b/dcnsanplanung.bewertung/M149-3/BAD.cs @@ -2,7 +2,7 @@ { public class BAD : AbstractCode { - public BAD() : base("Defektes Mauerwerk", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit) + public BAD() : base("Defektes Mauerwerk") { throw new NotImplementedException(); } diff --git a/dcnsanplanung.bewertung/M149-3/BAE.cs b/dcnsanplanung.bewertung/M149-3/BAE.cs index 3977c75..688f16a 100644 --- a/dcnsanplanung.bewertung/M149-3/BAE.cs +++ b/dcnsanplanung.bewertung/M149-3/BAE.cs @@ -2,7 +2,7 @@ { public class BAE : AbstractCode { - public BAE() : base("Fehlender Mörtel", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit) + public BAE() : base("Fehlender Mörtel") { throw new NotImplementedException(); } diff --git a/dcnsanplanung.bewertung/M149-3/BAF.cs b/dcnsanplanung.bewertung/M149-3/BAF.cs index d112f17..ab495f0 100644 --- a/dcnsanplanung.bewertung/M149-3/BAF.cs +++ b/dcnsanplanung.bewertung/M149-3/BAF.cs @@ -2,9 +2,43 @@ { public class BAF : AbstractCode { - public BAF() : base("Oberflächenschaden", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit) + public BAF() : base("Oberflächenschaden") { - throw new NotImplementedException(); + } + + public override int CalculateBK() + { + if (Ch1.Equals("K")) return 3; + return 4; + } + + public override int CalculateDK() + { + switch(Ch1) + { + case "I": return 1; + case "Z": return 7; + default: return 5; + } + } + + public override int CalculateSK() + { + switch(Ch1) + { + case "A": return 4; + case "B": + case "C": return 3; + case "D": return 2; + case "E": return 1; + case "F": return 3; + case "G": return 2; + case "H": return 1; + case "I": + case "J": + case "Z": return 7; + default: return 5; + } } } } diff --git a/dcnsanplanung.bewertung/M149-3/BAG.cs b/dcnsanplanung.bewertung/M149-3/BAG.cs index fb875c3..a7780fd 100644 --- a/dcnsanplanung.bewertung/M149-3/BAG.cs +++ b/dcnsanplanung.bewertung/M149-3/BAG.cs @@ -2,9 +2,55 @@ { public class BAG : AbstractCode { - public BAG() : base("Einragender Anschluss", CalculateMethods.Betriebsicherheit) + public BAG(int DN) : base("Einragender Anschluss", DN) { - throw new NotImplementedException (); + this.DN = DN; + } + + public override int CalculateBK() + { + switch(DN) + { + case <= 250: + { + switch(Q1) + { + case >= 50: return 0; + case >= 30: return 1; + case >= 20: return 2; + case >= 10: return 3; + default: return 4; + } + } + case <= 500: + { + switch(Q1) + { + case >= 80: return 0; + case >= 60: return 1; + case >= 40: return 2; + case >= 10: return 3; + default: return 4; + } + } + case <= 800: + { + switch(Q1) + { + case >= 70: return 2; + case <= 10: return 3; + default: return 4; + } + } + default: + { + switch(Q1) + { + case >= 30: return 3; + default: return 4; + } + } + } } } } diff --git a/dcnsanplanung.bewertung/M149-3/BAH.cs b/dcnsanplanung.bewertung/M149-3/BAH.cs index 8d1f2d3..8d067f8 100644 --- a/dcnsanplanung.bewertung/M149-3/BAH.cs +++ b/dcnsanplanung.bewertung/M149-3/BAH.cs @@ -2,9 +2,27 @@ { public class BAH : AbstractCode { - public BAH() : base("Schadhafter Anschluss", CalculateMethods.Dichtheit | CalculateMethods.Standsicherheit | CalculateMethods.Betriebsicherheit) + public BAH() : base("Schadhafter Anschluss") { - throw new NotImplementedException () ; + + } + + public override int CalculateDK() + { + switch(Ch1) + { + case "B": + case "C": + case "D": return 2; + case "Z": return 7; + default: return 5; + } + } + + public override int CalculateSK() + { + if (Ch1.Equals("Z")) return 7; + return 5; } } } diff --git a/dcnsanplanung.bewertung/M149-3/BAI.cs b/dcnsanplanung.bewertung/M149-3/BAI.cs index b7ec94d..ca782fc 100644 --- a/dcnsanplanung.bewertung/M149-3/BAI.cs +++ b/dcnsanplanung.bewertung/M149-3/BAI.cs @@ -2,9 +2,32 @@ { public class BAI : AbstractCode { - public BAI() : base("Einragendes Dichtungsmaterial", CalculateMethods.Dichtheit | CalculateMethods.Betriebsicherheit) + public BAI() : base("Einragendes Dichtungsmaterial") { - throw new NotImplementedException () ; } + + public override int CalculateDK() + { + return 2; + } + + public override int CalculateBK() + { + if(Ch1.Equals("A")) + { + if (Ch2.Equals("A")) return 4; + return 3; + } + + switch(Q1) + { + case >= 50: return 0; + case >= 35: return 1; + case >= 20: return 2; + case >= 5: return 3; + default: return 4; + } + } + } } diff --git a/dcnsanplanung.bewertung/M149-3/BAJ.cs b/dcnsanplanung.bewertung/M149-3/BAJ.cs new file mode 100644 index 0000000..50425c8 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAJ.cs @@ -0,0 +1,117 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAJ : AbstractCode + { + public BAJ(int DN = -1) : base("Verschobene Verbindung", DN) + { + } + + public override int CalculateDK() + { + switch (Ch1) + { + case "A": + { + switch (DN) + { + case <= 400: + { + switch (Q1) + { + case >= 70: return 0; + case >= 50: return 1; + case >= 30: return 2; + case >= 20: return 3; + default: return 4; + } + } + case <= 800: + { + switch (Q1) + { + case >= 80: return 0; + case >= 60: return 1; + case >= 40: return 2; + case >= 20: return 3; + default: return 4; + } + } + default: + { + switch (Q1) + { + case >= 90: return 0; + case >= 65: return 1; + case >= 40: return 2; + case >= 20: return 3; + default: return 4; + } + } + } + } + case "B": + { + switch (Q1) + { + case >= 30: return 0; + case >= 20: return 1; + case >= 15: return 2; + case >= 10: return 3; + default: return 4; + } + } + default: + { + switch (DN) + { + case <= 200: + { + switch (Q1) + { + case >= 12: return 0; + case >= 9: return 1; + case >= 7: return 2; + case >= 5: return 3; + default: return 4; + } + } + case <= 500: + { + switch (Q1) + { + case >= 6: return 0; + case >= 4: return 1; + case >= 3: return 2; + case >= 2: return 3; + default: return 4; + } + } + default: + { + switch (Q1) + { + case >= 6: return 0; + case >= 4: return 1; + case >= 3: return 2; + case >= 1: return 3; + default: return 4; + } + } + } + } + } + } + public override int CalculateSK() + { + return 4; + } + + public override int CalculateBK() + { + if (Ch1.Equals("B")) return 7; + return 5; + } + } + + +} diff --git a/dcnsanplanung.bewertung/M149-3/BAK.cs b/dcnsanplanung.bewertung/M149-3/BAK.cs new file mode 100644 index 0000000..80c537a --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAK.cs @@ -0,0 +1,12 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAK : AbstractCode + { + public BAK() : base("Feststellung der Innenauskleidung") + { + throw new NotImplementedException(); + } + } + + +} diff --git a/dcnsanplanung.bewertung/M149-3/BAL.cs b/dcnsanplanung.bewertung/M149-3/BAL.cs new file mode 100644 index 0000000..588e757 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAL.cs @@ -0,0 +1,12 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAL : AbstractCode + { + public BAL() : base("Schadhafte Reparatur") + { + throw new NotImplementedException(); + } + } + + +} diff --git a/dcnsanplanung.bewertung/M149-3/BAM.cs b/dcnsanplanung.bewertung/M149-3/BAM.cs new file mode 100644 index 0000000..35a798c --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAM.cs @@ -0,0 +1,12 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAM : AbstractCode + { + public BAM() : base("Schadhafte Schweißnaht") + { + throw new NotImplementedException(); + } + } + + +} diff --git a/dcnsanplanung.bewertung/M149-3/BAN.cs b/dcnsanplanung.bewertung/M149-3/BAN.cs new file mode 100644 index 0000000..2c67d5d --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAN.cs @@ -0,0 +1,12 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAN : AbstractCode + { + public BAN() : base("Poröses Rohr") + { + throw new NotImplementedException(); + } + } + + +} diff --git a/dcnsanplanung.bewertung/M149-3/BAO.cs b/dcnsanplanung.bewertung/M149-3/BAO.cs new file mode 100644 index 0000000..27f1b75 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAO.cs @@ -0,0 +1,22 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAO : AbstractCode + { + public BAO() : base("Boden sichtbar") + { + + } + + public override int CalculateDK() + { + return 1; + } + + public override int CalculateSK() + { + return 1; + } + } + + +} diff --git a/dcnsanplanung.bewertung/M149-3/BAP.cs b/dcnsanplanung.bewertung/M149-3/BAP.cs new file mode 100644 index 0000000..e342194 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BAP.cs @@ -0,0 +1,21 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BAP : AbstractCode + { + public BAP() : base("Hohlraum sichtbar") + { + + } + + public override int CalculateDK() + { + return 1; + } + + public override int CalculateSK() + { + return 0; + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBA.cs b/dcnsanplanung.bewertung/M149-3/BBA.cs new file mode 100644 index 0000000..0a73e4d --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBA.cs @@ -0,0 +1,24 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBA : AbstractCode + { + public BBA() : base("Wurzeln") + { + } + public override int CalculateDK() + { + return 2; + } + public override int CalculateBK() + { + switch(Q1) + { + case >= 30: return 0; + case >= 20: return 1; + case >= 10: return 2; + default: return 3; + } + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBB.cs b/dcnsanplanung.bewertung/M149-3/BBB.cs new file mode 100644 index 0000000..2508df1 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBB.cs @@ -0,0 +1,29 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBB : AbstractCode + { + public BBB() : base("Anhaftende Stoffe") + { + + } + + public override int CalculateDK() + { + if (Ch1.Equals("A")) return 3; + return 5; + } + + public override int CalculateBK() + { + switch(Q1) + { + case >= 30: return 0; + case >= 20: return 1; + case >= 10: return 2; + case >= 5: return 3; + default: return 4; + } + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBC.cs b/dcnsanplanung.bewertung/M149-3/BBC.cs new file mode 100644 index 0000000..3910249 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBC.cs @@ -0,0 +1,31 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBC : AbstractCode + { + public BBC() : base("Ablagerungen") + { + + } + + public override int CalculateBK() + { + switch(Ch1) + { + case "C": + case "Z": + { + switch(Q1) + { + case >= 50: return 0; + case >= 40: return 1; + case >= 25: return 2; + case >= 10: return 3; + default: return 4; + } + } + default: return 4; + } + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBD.cs b/dcnsanplanung.bewertung/M149-3/BBD.cs new file mode 100644 index 0000000..c78a67f --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBD.cs @@ -0,0 +1,32 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBD : AbstractCode + { + public BBD() : base("Eindringen von Bodenmaterial") + { + + } + + public override int CalculateDK() + { + return 1; + } + + public override int CalculateSK() + { + return 0; + } + + public override int CalculateBK() + { + switch(Q1) + { + case >= 30: return 0; + case >= 20: return 1; + case >= 10: return 2; + default: return 3; + } + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBE.cs b/dcnsanplanung.bewertung/M149-3/BBE.cs new file mode 100644 index 0000000..8df80db --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBE.cs @@ -0,0 +1,11 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBE : AbstractCode + { + public BBE() : base("Andere Hindernisse") + { + throw new NotImplementedException(); + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBF.cs b/dcnsanplanung.bewertung/M149-3/BBF.cs new file mode 100644 index 0000000..19df962 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBF.cs @@ -0,0 +1,37 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBF : AbstractCode + { + public BBF() : base("Infiltration") + { + + } + + public override int CalculateDK() + { + switch(Ch1) + { + case "A": return 2; + default: return 1; + } + } + + public override int CalculateSK() + { + switch(Ch1) + { + case "A": return 3; + case "B": + case "C": return 2; + default: return 1; + } + } + + public override int CalculateBK() + { + if (Ch1.Equals("A")) return 4; + return 3; + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBG.cs b/dcnsanplanung.bewertung/M149-3/BBG.cs new file mode 100644 index 0000000..693d661 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBG.cs @@ -0,0 +1,11 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBG : AbstractCode + { + public BBG() : base("Exfiltration") + { + throw new NotImplementedException(); + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BBH.cs b/dcnsanplanung.bewertung/M149-3/BBH.cs new file mode 100644 index 0000000..05c2942 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BBH.cs @@ -0,0 +1,11 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BBH : AbstractCode + { + public BBH() : base("Ungeziefer") + { + throw new NotImplementedException(); + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BDB.cs b/dcnsanplanung.bewertung/M149-3/BDB.cs new file mode 100644 index 0000000..ed8d5d5 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BDB.cs @@ -0,0 +1,20 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BDB : AbstractCode + { + public BDB() : base("Sonderfälle") + { + + } + + public override int CalculateBK() + { + return 7; + } + public override int CalculateDK() + { + return 7; + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/BDE.cs b/dcnsanplanung.bewertung/M149-3/BDE.cs new file mode 100644 index 0000000..922e685 --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/BDE.cs @@ -0,0 +1,20 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public class BDE : AbstractCode + { + public BDE() : base("Zufluss aus einem Anschluss") + { + + } + + public override int CalculateBK() + { + switch(Ch2) + { + case "A": return 1; + default: return 2; + } + } + } + +} diff --git a/dcnsanplanung.bewertung/M149-3/ECalculateMethods.cs b/dcnsanplanung.bewertung/M149-3/ECalculateMethods.cs new file mode 100644 index 0000000..65e53aa --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/ECalculateMethods.cs @@ -0,0 +1,9 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public enum ECalculateMethods + { + Dichtheit = 1, + Standsicherheit = 2, + Betriebsicherheit = 4 + } +} diff --git a/dcnsanplanung.bewertung/M149-3/EGeltungsbereich.cs b/dcnsanplanung.bewertung/M149-3/EGeltungsbereich.cs new file mode 100644 index 0000000..258d58e --- /dev/null +++ b/dcnsanplanung.bewertung/M149-3/EGeltungsbereich.cs @@ -0,0 +1,8 @@ +namespace dcnsanplanung.bewertung.M149_3 +{ + public enum EGeltungsbereich + { + biegesteif, + biegeweich + } +} diff --git a/dcnsanplanung.bewertungTests/BewM149Tests.cs b/dcnsanplanung.bewertungTests/BewM149Tests.cs new file mode 100644 index 0000000..8928882 --- /dev/null +++ b/dcnsanplanung.bewertungTests/BewM149Tests.cs @@ -0,0 +1,21 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using dcnsanplanung.bewertung; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace dcnsanplanung.bewertung.Tests +{ + [TestClass()] + public class BewM149Tests + { + [TestMethod()] + public void BewM149Test() + { + var t = BewM149.Klassifiziere("BAB", "B", "A", "10", "10", 0); + + } + } +} \ No newline at end of file diff --git a/dcnsanplanung.bewertungTests/dcnsanplanung.bewertungTests.csproj b/dcnsanplanung.bewertungTests/dcnsanplanung.bewertungTests.csproj new file mode 100644 index 0000000..60d09a2 --- /dev/null +++ b/dcnsanplanung.bewertungTests/dcnsanplanung.bewertungTests.csproj @@ -0,0 +1,23 @@ + + + + net7.0 + enable + enable + + false + true + + + + + + + + + + + + + + diff --git a/dcnsanplanung.shared/Helper/ImportToSoftware.cs b/dcnsanplanung.shared/Helper/ImportToSoftware.cs index 606d5de..35299c7 100644 --- a/dcnsanplanung.shared/Helper/ImportToSoftware.cs +++ b/dcnsanplanung.shared/Helper/ImportToSoftware.cs @@ -40,6 +40,7 @@ namespace dcnsanplanung.shared.Helper kodierung.CH2 = src_kodierung.Charakterisierung2 != null ? src_kodierung.Charakterisierung2 : ""; kodierung.Q1 = src_kodierung.Quantifizierung1.Numerisch.ToString(); kodierung.Q2 = src_kodierung.Quantifizierung2.Numerisch.ToString(); + kodierung.StreckenschadenCode = string.Format("{0}{1}", src_kodierung.Streckenschaden, src_kodierung.Streckenschadennr); //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; diff --git a/dcnsanplanung.shared/Model/Schaden.cs b/dcnsanplanung.shared/Model/Schaden.cs index 7780ff6..c404767 100644 --- a/dcnsanplanung.shared/Model/Schaden.cs +++ b/dcnsanplanung.shared/Model/Schaden.cs @@ -9,10 +9,11 @@ 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 int Schadensklasse { get; set; } + public int KD { get; set; } + public int KS { get; set; } + public int KB { get; set; } + public string StreckenschadenCode { get; set; } = string.Empty; public List Sanierungsvorgaben { get; set; } } diff --git a/dcnsanplanung.sln b/dcnsanplanung.sln index 0d2ad3a..c4665aa 100644 --- a/dcnsanplanung.sln +++ b/dcnsanplanung.sln @@ -15,7 +15,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dcnsanplanung.sharedTests", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dcnsanplanung.DALTests", "dcnsanplanung.DALTests\dcnsanplanung.DALTests.csproj", "{91A48C89-5E1F-4C70-B995-A2AC9459E6C1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dcnsanplanung.bewertung", "dcnsanplanung.bewertung\dcnsanplanung.bewertung.csproj", "{9D3FD066-7572-40EC-BCC7-5508CBAFF02C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dcnsanplanung.bewertung", "dcnsanplanung.bewertung\dcnsanplanung.bewertung.csproj", "{9D3FD066-7572-40EC-BCC7-5508CBAFF02C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dcnsanplanung.bewertungTests", "dcnsanplanung.bewertungTests\dcnsanplanung.bewertungTests.csproj", "{04EEBF05-C867-4638-9629-718109F029F1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -51,6 +53,10 @@ Global {9D3FD066-7572-40EC-BCC7-5508CBAFF02C}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D3FD066-7572-40EC-BCC7-5508CBAFF02C}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D3FD066-7572-40EC-BCC7-5508CBAFF02C}.Release|Any CPU.Build.0 = Release|Any CPU + {04EEBF05-C867-4638-9629-718109F029F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {04EEBF05-C867-4638-9629-718109F029F1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {04EEBF05-C867-4638-9629-718109F029F1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {04EEBF05-C867-4638-9629-718109F029F1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/dcnsanplanung.wpf/MainWindow.xaml b/dcnsanplanung.wpf/MainWindow.xaml index ad37198..6db5e82 100644 --- a/dcnsanplanung.wpf/MainWindow.xaml +++ b/dcnsanplanung.wpf/MainWindow.xaml @@ -22,6 +22,9 @@