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

47 lines
2.2 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<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.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.Kodierung = 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);
}
}
}
}