Daten werden grundsätzlich übertragen in neuer DB

WIP InlinerSanierung
This commit is contained in:
HuskyTeufel
2021-09-20 19:31:06 +02:00
parent ea3352db79
commit efa52c117c
4 changed files with 404 additions and 47 deletions

View File

@@ -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();
}
}