From f07978ce04af7a587a2ec770bc1a47429ac151a5 Mon Sep 17 00:00:00 2001 From: Husky Date: Thu, 25 Feb 2021 10:52:43 +0100 Subject: [PATCH] Textfilewriter erstellt --- Models/PressureTest.cs | 6 +++- ProtokollWriter/SBTextFileWriter.cs | 35 ++++++++++++++++----- ProtokollWriterContract/IProtokollWriter.cs | 4 +-- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/Models/PressureTest.cs b/Models/PressureTest.cs index 12d89a1..4956ecd 100644 --- a/Models/PressureTest.cs +++ b/Models/PressureTest.cs @@ -1,10 +1,14 @@ using System; using System.Collections.Generic; +using System.Linq; namespace Models { public class PressureTest { List measuredatas = new List(); + bool bestanden; + public string prüfdatum {get => measuredatas.Last().Datum.ToShortDateString();} + public bool Bestanden {get => bestanden; set => bestanden = value;} public List Measuredatas { get => measuredatas; set => measuredatas = value; } } -} \ No newline at end of file +} diff --git a/ProtokollWriter/SBTextFileWriter.cs b/ProtokollWriter/SBTextFileWriter.cs index 8e77026..29b381c 100644 --- a/ProtokollWriter/SBTextFileWriter.cs +++ b/ProtokollWriter/SBTextFileWriter.cs @@ -12,7 +12,9 @@ namespace ProtokollWriter { { string[] content; ArrayList newFile = new ArrayList(); + int prüfungsnummer = 0; string targetFile; + Inspektionsobjekt inspObjekt; Hashtable hashtable = new Hashtable() { {"DATUM",""}, @@ -36,36 +38,52 @@ namespace ProtokollWriter { {"BEMERKUNG","" } }; - Inspektionsobjekt inspObjekt; - public void WriteProtokoll(Inspektionsobjekt inspektionsobjekt) + + public void WriteProtokoll(Inspektionsobjekt inspektionsobjekt, uint prüfungsnummer) { inspObjekt = inspektionsobjekt; + this.prüfungsnummer = (int)prüfungsnummer; + this.targetFile = string.Format("{0}_{1}.txt",inspObjekt.Objektname); } void ReadVorlage() { content = File.ReadAllLines("./vorlage.txt",Encoding.Default); } + + string getPrüfnummer() { + string[] pruefung = inspObjekt.PressureTests[prüfungsnummer].prüfdatum.Split('.'); + return string.Format("{0}{1}{2}-{3}", pruefung[2], pruefung[1], pruefung[0]); + } + + double getPruefVolumen() { + double durchmesser = ((double)inspObjekt.Durchmesser / 2)/1000; + double laenge = (double)inspObjekt.ObjektLänge; + double Volumen = Math.PI * (durchmesser * durchmesser) * laenge; + Volumen = Math.Round(Volumen, 3); + return Volumen; + } + void Ersetzen() { - hashtable["DATUM"] = prüfdatum; + hashtable["DATUM"] = inspObjekt.PressureTests[prüfungsnummer].prüfdatum; hashtable["PRUEFNR"] = getPrüfnummer(); hashtable["DN"] = inspObjekt.Durchmesser; hashtable["LAENGE"] = inspObjekt.ObjektLänge; - hashtable["VOLUMEN"] = PruefVolumen(); + hashtable["VOLUMEN"] = getPruefVolumen(); hashtable["AUFTRAGGEBER_NAME"] = inspObjekt.Bauvorhaben.Auftraggeber.Name; hashtable["AUFTRAGGEBER_STRASSE"] = inspObjekt.Bauvorhaben.Auftraggeber.Strasse; hashtable["AUFTRAGGEBER_ORT"] = inspObjekt.Bauvorhaben.Auftraggeber.Ort; hashtable["AUFTRAGGEBER_TEL"] = inspObjekt.Bauvorhaben.Auftraggeber.Tel; hashtable["VONSCHACHT"] = inspObjekt.ObereSchacht; hashtable["BISSCHACHT"] = inspObjekt.UntereSchacht; - hashtable["PROJEKTNR"] = Projektnummer; + hashtable["PROJEKTNR"] = "000";//Projektnummer; hashtable["HALTUNGNR"] = inspObjekt.Objektname != null ? inspObjekt.Objektname : inspObjekt.ObereSchacht; hashtable["MESSDATEI"] = inspObjekt.Objektname != null ? inspObjekt.Objektname : inspObjekt.ObereSchacht; hashtable["BAUVORHABEN_STRASSE"] = inspObjekt.Bauvorhaben.Strasse; hashtable["BAUVORHABEN_ORT"] = inspObjekt.Bauvorhaben.Ort; hashtable["BAUVORHABEN_STANDORT"] = inspObjekt.Bauvorhaben.Strasse; hashtable["BEMERKUNG"] = inspObjekt.Bemerkung; - hashtable["PRUEFRESULTAT"] = Bestanden ? "Prüfung Bestanden" : "Prüfung N I C H T Bestanden"; + hashtable["PRUEFRESULTAT"] = inspObjekt.PressureTests[prüfungsnummer].Bestanden ? "Prüfung Bestanden" : "Prüfung N I C H T Bestanden"; } void WriteFile() { string zeile; @@ -83,7 +101,8 @@ namespace ProtokollWriter { } else { if(cmd.StartsWith("@")) { string n = ""; - foreach(MeasureData data in inspObjekt.PressureTests[0].Measuredatas) { + + foreach(MeasureData data in inspObjekt.PressureTests[prüfungsnummer].Measuredatas) { n = string.Format("{0}{1}\r\n",n,data.ToString()); } zeile = n; @@ -105,4 +124,4 @@ namespace ProtokollWriter { return result; } } -} \ No newline at end of file +} diff --git a/ProtokollWriterContract/IProtokollWriter.cs b/ProtokollWriterContract/IProtokollWriter.cs index 591cc99..474cdc5 100644 --- a/ProtokollWriterContract/IProtokollWriter.cs +++ b/ProtokollWriterContract/IProtokollWriter.cs @@ -3,6 +3,6 @@ using Models; namespace ProtokollWriterContract { public interface IProtokollWriter { - void WriteProtokoll(Inspektionsobjekt inspektionsobjekt); + void WriteProtokoll(Inspektionsobjekt inspektionsobjekt,uint prüfungsnummer); } -} \ No newline at end of file +}