Files
dcnsanplanung/dcnsanplanung.shared/Helper/ImportToSoftware.cs

57 lines
3.4 KiB
C#

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<Model.Haltung> haltungen = new List<Model.Haltung>();
public ImportToSoftware(string XMLFile)
{
ReadSchnittstelle(XMLFile);
}
private void ReadSchnittstelle(string XMLFile)
{
List<Schnittstelle.Import.XML.v2013.Model.KanalObjekt> source_KanalObjekt = new Schnittstelle.Import.XML.v2013.XML2013(XMLFile).KanalObjekte.FindAll(x => x.Inspektionsdaten.Anlagentyp == Schnittstelle.Import.XML.v2013.Model.EAnlagetyp.Haltung);
//List<Schnittstelle.Import.XML.v2013.Model.KanalObjekt> source_KanalObjekt = new Schnittstelle.Import.XML.v2013.XML2013(XMLFile).KanalObjekte.FindAll(x => x.Inspektionsdaten.Anlagentyp == Schnittstelle.Import.XML.v2013.Model.EAnlagetyp.Anschlussleitung);
//List<Model.Haltung> haltungen = new List<Model.Haltung>();
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<Model.Schaden> kodierungen = new List<Model.Schaden>();
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);
}
}
}
}