using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace dcnsanplanung.shared.Helper { public class ImportToSoftware { public List haltungen = new List(); public ImportToSoftware(string XMLFile) { ReadSchnittstelle(XMLFile); } private void ReadSchnittstelle(string XMLFile) { List source_KanalObjekt = new Schnittstelle.Import.XML.v2013.XML2013(XMLFile).KanalObjekte.FindAll(x => x.Inspektionsdaten.Anlagentyp == Schnittstelle.Import.XML.v2013.Model.EAnlagetyp.Haltung); //List source_KanalObjekt = new Schnittstelle.Import.XML.v2013.XML2013(XMLFile).KanalObjekte.FindAll(x => x.Inspektionsdaten.Anlagentyp == Schnittstelle.Import.XML.v2013.Model.EAnlagetyp.Anschlussleitung); //List haltungen = new List(); foreach (Schnittstelle.Import.XML.v2013.Model.KanalObjekt src in source_KanalObjekt) { Model.Haltung haltung = new Model.Haltung(); haltung.Guid = Guid.NewGuid(); 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; List kodierungen = new List(); foreach (Schnittstelle.Import.XML.v2013.Model.RZustand src_kodierung in src.Inspektionsdaten.OptischeInspektion.Rohrleitung.Zustaende) { Model.Schaden kodierung = new Model.Schaden(); kodierung.Guid = Guid.NewGuid(); kodierung.Ref_Haltung_Guid = haltung.Guid; kodierung.Entfernung = src_kodierung.Station; kodierung.Hauptcode = src_kodierung.Inspektionskode; 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(); 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; kodierungen.Add(kodierung); } haltung.Kodierungen = kodierungen; haltungen.Add(haltung); } } } }