Files
DaSaSo/DaSaSo.DatabaseConverter/Program.cs
2021-09-20 19:31:06 +02:00

86 lines
3.1 KiB
C#

// See https://aka.ms/new-console-template for more information
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!");
ConvertXML convertXML = new ConvertXML();
convertXML.parseXML();
WriteToNewDB(convertXML.GetProjekts);
Console.WriteLine("Fertig");
Console.ReadLine();
static void WriteToNewDB(List<Projekt> alteDB)
{
IDataService<Project> dataService = new GenericDataService<Project>(new DaSaSoDbContextFactory("Host = localhost; Database = dasaso; Username = kansan; Password = kansan"));
foreach(Projekt projekt in alteDB)
{
Client newClient = new Client();
/*{
Firstname = projekt.Auftraggeber.Name,
Street = projekt.Auftraggeber.Strasse,
Country = projekt.Auftraggeber.Ort
};*/
if(projekt.Auftraggeber == null)
{
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);
}
}