Interktion im WPF erweitert
This commit is contained in:
@@ -13,35 +13,148 @@ using DaSaSo.EntityFramework;
|
||||
Console.WriteLine("Hello, World!");
|
||||
ConvertXML convertXML = new ConvertXML();
|
||||
convertXML.parseXML();
|
||||
WriteToNewDB(convertXML.GetProjekts);
|
||||
|
||||
WriteToNewDB(convertXML.GetProjekts, convertXML.imprägnierungListe);
|
||||
|
||||
Console.WriteLine("Fertig");
|
||||
|
||||
Console.ReadLine();
|
||||
|
||||
static void WriteToNewDB(List<Projekt> alteDB)
|
||||
static void WriteToNewDB(List<Projekt> alteDB, List<Imprägnierungen> imprägnierungListe)
|
||||
{
|
||||
IDataService<Project> dataService = new GenericDataService<Project>(new DaSaSoDbContextFactory("Host = localhost; Database = dasaso; Username = kansan; Password = kansan"));
|
||||
DaSaSoDbContextFactory daSaSoDbContextFactory = new DaSaSoDbContextFactory("Host = localhost; Database = dasaso; Username = kansan; Password = kansan");
|
||||
IDataService<Project> dataService = null;
|
||||
IDataService<Client> clientsDataService = new GenericDataService<Client>(daSaSoDbContextFactory);
|
||||
|
||||
|
||||
List<Client> avaibleClients = new List<Client>();
|
||||
|
||||
|
||||
/*Client dummy = new Client()
|
||||
{
|
||||
Firstname = "NaN"
|
||||
};*/
|
||||
avaibleClients.Add(dummy);
|
||||
IEnumerable<Auftraggeber> d = alteDB.Select(s => s.Auftraggeber).Where(m => m != null);
|
||||
var m = d.Select(f => f.Name).Distinct();
|
||||
|
||||
foreach(string auftraggebername in m)
|
||||
{
|
||||
IEnumerable<Auftraggeber>? raw = alteDB.Select(s => s.Auftraggeber);
|
||||
Auftraggeber rawAuftraggeber = null;
|
||||
foreach(Auftraggeber? g in raw)
|
||||
{
|
||||
if (g == null) continue;
|
||||
if (g.Name.Equals(auftraggebername))
|
||||
{
|
||||
rawAuftraggeber = g;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (rawAuftraggeber == null) throw new Exception("Auftraggeber nicht gefunden");
|
||||
Client t = new Client()
|
||||
{
|
||||
Firstname = rawAuftraggeber.Name,
|
||||
Street = rawAuftraggeber.Strasse,
|
||||
Country = rawAuftraggeber.Ort
|
||||
};
|
||||
|
||||
avaibleClients.Add(t);
|
||||
}
|
||||
|
||||
|
||||
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)
|
||||
dataService = new GenericDataService<Project>(daSaSoDbContextFactory);
|
||||
|
||||
|
||||
Client auftraggeber = null;
|
||||
if (projekt.Auftraggeber == null)
|
||||
auftraggeber = avaibleClients.Find(x => x.Firstname.Equals("NaN"));
|
||||
else
|
||||
auftraggeber = avaibleClients.Find(x => x.Firstname.Equals(projekt.Auftraggeber.Name));
|
||||
|
||||
if (auftraggeber == null) Debugger.Break();
|
||||
Project project = new Project();
|
||||
project.Client = auftraggeber;
|
||||
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)
|
||||
{
|
||||
newClient.Firstname = "";
|
||||
newClient.Street = "";
|
||||
newClient.Country ="";
|
||||
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;
|
||||
|
||||
if (inspektionsobjekt.InlinerSanierung != null)
|
||||
{
|
||||
sewerObject.PipeLiner = new PipeLiner();
|
||||
sewerObject.PipeLiner.InversionPressure = inspektionsobjekt.InlinerSanierung.InversionsDruck;
|
||||
sewerObject.PipeLiner.Operator = inspektionsobjekt.InlinerSanierung.Besatzung;
|
||||
sewerObject.PipeLiner.PermitNeeded = inspektionsobjekt.InlinerSanierung.GenehmigungVorhanden;
|
||||
sewerObject.PipeLiner.Preliner = inspektionsobjekt.InlinerSanierung.Preliner;
|
||||
sewerObject.PipeLiner.STVO = inspektionsobjekt.InlinerSanierung.SVTO;
|
||||
sewerObject.PipeLiner.TemperaturAssembly = Convert.ToDecimal(inspektionsobjekt.InlinerSanierung.EinbauTemperatur);
|
||||
sewerObject.PipeLiner.TemperatureOutdoors = inspektionsobjekt.InlinerSanierung.TempAusssen;
|
||||
sewerObject.PipeLiner.TemperatureSewer = inspektionsobjekt.InlinerSanierung.TempKanal;
|
||||
sewerObject.PipeLiner.TemperaturStorage = Convert.ToDecimal(inspektionsobjekt.InlinerSanierung.LagerungsTemperatur);
|
||||
sewerObject.PipeLiner.WaterBaried = inspektionsobjekt.InlinerSanierung.Wasserhaltung;
|
||||
sewerObject.PipeLiner.Weather = inspektionsobjekt.InlinerSanierung.Wetter;
|
||||
sewerObject.PipeLiner.CleanedHD = inspektionsobjekt.InlinerSanierung.HDReinigung;
|
||||
sewerObject.PipeLiner.CleanedMechanisch = inspektionsobjekt.InlinerSanierung.VorbereitetMechanisch;
|
||||
sewerObject.PipeLiner.CleanedRoborter = inspektionsobjekt.InlinerSanierung.VorbereitetRoborter;
|
||||
sewerObject.PipeLiner.ClosedEnd = inspektionsobjekt.InlinerSanierung.GeschlosseneEnde;
|
||||
}
|
||||
|
||||
Sewers.Add(sewerObject);
|
||||
}
|
||||
buildingsite.SewerObjects = Sewers;
|
||||
buildingsites.Add(buildingsite);
|
||||
project.BuildingSites = buildingsites;
|
||||
auftraggeber.Projects = new List<Project>() { project };
|
||||
clientsDataService.CreateNonAsync(auftraggeber);
|
||||
//dataService.CreateNonAsync(project);
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
foreach (Projekt projekt in alteDB)
|
||||
{
|
||||
Client newClient = null;
|
||||
|
||||
if (projekt.Auftraggeber == null)
|
||||
{
|
||||
newClient = avaibleClients.Find(x => x.Firstname.Equals("NaN"));
|
||||
}
|
||||
else
|
||||
{
|
||||
newClient.Firstname = projekt.Auftraggeber.Name;
|
||||
newClient.Street = projekt.Auftraggeber.Strasse;
|
||||
newClient.Country = projekt.Auftraggeber.Ort;
|
||||
newClient = avaibleClients.Find(x => x.Firstname.Equals(projekt.Auftraggeber.Name));
|
||||
}
|
||||
if (newClient == null) Debugger.Break();
|
||||
Project project = new Project();
|
||||
//Console.WriteLine(aktClient);
|
||||
project.Client = newClient;
|
||||
project.Name = projekt.Ort;
|
||||
|
||||
@@ -73,13 +186,52 @@ static void WriteToNewDB(List<Projekt> alteDB)
|
||||
sewerObject.PunktUntenType = DaSaSo.Domain.Enums.EPointType.Anschlusspunkt;
|
||||
sewerObject.StreetName = inspektionsobjekt.StrasseName;
|
||||
sewerObject.SewerLength = inspektionsobjekt.Haltungslaenge;
|
||||
|
||||
if(inspektionsobjekt.InlinerSanierung != null)
|
||||
{
|
||||
sewerObject.PipeLiner = new PipeLiner();
|
||||
sewerObject.PipeLiner.InversionPressure = inspektionsobjekt.InlinerSanierung.InversionsDruck;
|
||||
sewerObject.PipeLiner.Operator = inspektionsobjekt.InlinerSanierung.Besatzung;
|
||||
sewerObject.PipeLiner.PermitNeeded = inspektionsobjekt.InlinerSanierung.GenehmigungVorhanden;
|
||||
sewerObject.PipeLiner.Preliner = inspektionsobjekt.InlinerSanierung.Preliner;
|
||||
sewerObject.PipeLiner.STVO = inspektionsobjekt.InlinerSanierung.SVTO;
|
||||
sewerObject.PipeLiner.TemperaturAssembly = Convert.ToDecimal(inspektionsobjekt.InlinerSanierung.EinbauTemperatur);
|
||||
sewerObject.PipeLiner.TemperatureOutdoors = inspektionsobjekt.InlinerSanierung.TempAusssen;
|
||||
sewerObject.PipeLiner.TemperatureSewer = inspektionsobjekt.InlinerSanierung.TempKanal;
|
||||
sewerObject.PipeLiner.TemperaturStorage = Convert.ToDecimal(inspektionsobjekt.InlinerSanierung.LagerungsTemperatur);
|
||||
sewerObject.PipeLiner.WaterBaried = inspektionsobjekt.InlinerSanierung.Wasserhaltung;
|
||||
sewerObject.PipeLiner.Weather = inspektionsobjekt.InlinerSanierung.Wetter;
|
||||
sewerObject.PipeLiner.CleanedHD = inspektionsobjekt.InlinerSanierung.HDReinigung;
|
||||
sewerObject.PipeLiner.CleanedMechanisch = inspektionsobjekt.InlinerSanierung.VorbereitetMechanisch;
|
||||
sewerObject.PipeLiner.CleanedRoborter = inspektionsobjekt.InlinerSanierung.VorbereitetRoborter;
|
||||
sewerObject.PipeLiner.ClosedEnd = inspektionsobjekt.InlinerSanierung.GeschlosseneEnde;
|
||||
Impregnation impregnation = null;
|
||||
if (inspektionsobjekt.InlinerSanierung.Impraeg == null)
|
||||
{
|
||||
impregnation = new Impregnation()
|
||||
{
|
||||
Number = Guid.NewGuid().ToString()
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
//impregnation = avaibleImpregnation.Find(x => x.Number.Equals(inspektionsobjekt.InlinerSanierung.Impraeg.Imprägniernummer));
|
||||
}
|
||||
//if (impregnation == null) Debugger.Break();
|
||||
|
||||
//if (impregnation != null)
|
||||
//sewerObject.PipeLiner.Impregnation = impregnation;
|
||||
|
||||
}
|
||||
|
||||
Sewers.Add(sewerObject);
|
||||
}
|
||||
buildingsite.SewerObjects = Sewers;
|
||||
buildingsites.Add(buildingsite);
|
||||
project.BuildingSites = buildingsites;
|
||||
|
||||
dataService.Create(project);
|
||||
dataService.CreateNonAsync(project);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user