Daten werden grundsätzlich übertragen in neuer DB
WIP InlinerSanierung
This commit is contained in:
@@ -3,59 +3,83 @@
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using System.Xml;
|
||||
using System.Windows.Markup;
|
||||
using DaSaSo.DatabaseConverter;
|
||||
using DaSaSo.Domain.Services;
|
||||
using DaSaSo.Domain.Model;
|
||||
using DaSaSo.EntityFramework.Services;
|
||||
using DaSaSo.EntityFramework;
|
||||
|
||||
Console.WriteLine("Hello, World!");
|
||||
await ReadXML();
|
||||
ConvertXML convertXML = new ConvertXML();
|
||||
convertXML.parseXML();
|
||||
WriteToNewDB(convertXML.GetProjekts);
|
||||
Console.WriteLine("Fertig");
|
||||
|
||||
Console.ReadLine();
|
||||
|
||||
|
||||
static async Task ReadXML()
|
||||
static void WriteToNewDB(List<Projekt> alteDB)
|
||||
{
|
||||
|
||||
XmlReaderSettings setting = new XmlReaderSettings();
|
||||
setting.Async = true;
|
||||
HashSet<string> hashtable = new HashSet<string>();
|
||||
using (XmlReader m_reader = XmlReader.Create("./TeufelDB.xaml",setting))
|
||||
IDataService<Project> dataService = new GenericDataService<Project>(new DaSaSoDbContextFactory("Host = localhost; Database = dasaso; Username = kansan; Password = kansan"));
|
||||
foreach(Projekt projekt in alteDB)
|
||||
{
|
||||
while (await m_reader.ReadAsync())
|
||||
Client newClient = new Client();
|
||||
/*{
|
||||
Firstname = projekt.Auftraggeber.Name,
|
||||
Street = projekt.Auftraggeber.Strasse,
|
||||
Country = projekt.Auftraggeber.Ort
|
||||
};*/
|
||||
if(projekt.Auftraggeber == null)
|
||||
{
|
||||
if(m_reader.IsStartElement())
|
||||
{
|
||||
if (m_reader.Name.Equals("Auftraggeber")) Debugger.Break();
|
||||
hashtable.Add(m_reader.Name);
|
||||
if (m_reader.IsEmptyElement)
|
||||
{
|
||||
Console.WriteLine("<{0}/>", m_reader.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Console.Write("<{0}> ", m_reader.Name);
|
||||
m_reader.Read();
|
||||
if (m_reader.IsStartElement())
|
||||
{
|
||||
Console.Write("\r\n<{0}>", m_reader.Name);
|
||||
}
|
||||
}
|
||||
if (m_reader.HasAttributes)
|
||||
{
|
||||
Console.WriteLine("Attributes of {0}", m_reader.Name);
|
||||
while (m_reader.MoveToNextAttribute())
|
||||
{
|
||||
Console.WriteLine(" {0} = {1}", m_reader.Name, m_reader.Value);
|
||||
}
|
||||
m_reader.MoveToElement();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Ende");
|
||||
}
|
||||
|
||||
|
||||
newClient.Firstname = "";
|
||||
newClient.Street = "";
|
||||
newClient.Country ="";
|
||||
}
|
||||
else
|
||||
{
|
||||
newClient.Firstname = projekt.Auftraggeber.Name;
|
||||
newClient.Street = projekt.Auftraggeber.Strasse;
|
||||
newClient.Country = projekt.Auftraggeber.Ort;
|
||||
}
|
||||
Project project = new Project();
|
||||
project.Client = newClient;
|
||||
project.Name = projekt.Ort;
|
||||
|
||||
List<Buildingsite> buildingsites = new List<Buildingsite>();
|
||||
|
||||
Buildingsite buildingsite = new Buildingsite();
|
||||
buildingsite.ContactPerson = projekt.Auftraggeber != null? projekt.Auftraggeber.Ansprechpartner : "";
|
||||
buildingsite.BuildingSiteNumber = projekt.ProjektNummer;
|
||||
buildingsite.Project = project;
|
||||
|
||||
List<SewerObject> Sewers = new List<SewerObject>();
|
||||
foreach(Inspektionsobjekt inspektionsobjekt in projekt.inspektionsobjekte)
|
||||
{
|
||||
SewerObject sewerObject = new SewerObject();
|
||||
sewerObject.BuildingSite = buildingsite;
|
||||
|
||||
sewerObject.DN = inspektionsobjekt.Kanalrohrweite;
|
||||
sewerObject.ObjektName = inspektionsobjekt.Objektbezeichnung;
|
||||
sewerObject.Material = inspektionsobjekt.RohrMaterial;
|
||||
sewerObject.PunktOben = new SewerPoint()
|
||||
{
|
||||
Objektnummer = inspektionsobjekt.VonPunkt
|
||||
};
|
||||
sewerObject.PunktObenType = DaSaSo.Domain.Enums.EPointType.Schacht;
|
||||
sewerObject.PunktUnten = new SewerPoint()
|
||||
{
|
||||
Objektnummer = inspektionsobjekt.BisPunkt
|
||||
};
|
||||
sewerObject.PunktUntenType = DaSaSo.Domain.Enums.EPointType.Anschlusspunkt;
|
||||
sewerObject.StreetName = inspektionsobjekt.StrasseName;
|
||||
sewerObject.SewerLength = inspektionsobjekt.Haltungslaenge;
|
||||
Sewers.Add(sewerObject);
|
||||
}
|
||||
buildingsite.SewerObjects = Sewers;
|
||||
buildingsites.Add(buildingsite);
|
||||
project.BuildingSites = buildingsites;
|
||||
|
||||
dataService.Create(project);
|
||||
}
|
||||
Debugger.Break();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user