KlassenDLL im Main integriert

This commit is contained in:
HuskyTeufel
2022-04-20 14:59:34 +02:00
parent 70ec1019cd
commit d2537d1a75
122 changed files with 16199 additions and 1165 deletions

View File

@@ -0,0 +1,124 @@
using KlassenBIB;
using SanShared;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xaml;
namespace Database
{
class UpdateDatabase
{
public static void UpdateNewGuids()
{
if (Datenbank.Instance.loadedProjekt == null) return;
foreach(var entries in Datenbank.Instance.loadedProjekt.Objekte)
{
if(entries.Guid.Equals(Guid.Empty))
entries.Guid = Guid.NewGuid();
foreach(var sanierungen in entries.Sanierung)
{
if (sanierungen.Guid.Equals(Guid.Empty))
sanierungen.Guid = Guid.NewGuid();
}
}
return;
}
public static void MakeNewDatabaseSystem()
{
List<string> projekte = new List<string>();
Projekt tempProjekt = null;
foreach (DirectoryInfo projekt in (new DirectoryInfo("./projekte").GetDirectories()))
{
projekte.Add(projekt.Name);
}
foreach (string t in projekte)
{
string filepath = Path.Combine("projekte", t, string.Format("{0}.xaml", t));
if (!File.Exists(filepath)) continue;
tempProjekt = XamlServices.Load(filepath) as KlassenBIB.Projekt;
Datenbank.Instance.TeufelDB.Projekte.Add(tempProjekt);
//var x = Datenbank.Instance.MainDatenbank.AuftraggeberListe;
}
}
public static void GenerateNewBeziehungen()
{
string imprägnierungsnummer = "";
foreach(Projekt projekt in Datenbank.Instance.TeufelDB.Projekte)
{
projekt.Auftraggeber = Datenbank.Instance.TeufelDB.Auftraggeber.Find(x => x.Name.Equals(projekt.Auftraggeber.Name));
foreach(Inspektionsobjekt inspektionsobjekt in projekt.Objekte)
{
if(inspektionsobjekt.Sanierung.Count > 0)
{
foreach(var sanierung in inspektionsobjekt.Sanierung)
{
if(sanierung is KlassenBIB.InlinerSanierung)
{
KlassenBIB.InlinerSanierung san = (sanierung as KlassenBIB.InlinerSanierung);
if (!(san.Imprägnierungsbericht is KlassenBIB.WerkseitigImprägniert)) continue;
KlassenBIB.WerkseitigImprägniert werkseitigImprägniert = (KlassenBIB.WerkseitigImprägniert)san.Imprägnierungsbericht;
imprägnierungsnummer = werkseitigImprägniert.Imprägniernummer;
//san.Imprägnierungsbericht = null;
san.Imprägnierungsbericht = Datenbank.Instance.TeufelDB.Imprägnierungen.Find(x => x.Imprägniernummer.Equals(imprägnierungsnummer));
}
}
}
}
}
//Debugger.Break();
}
public static void TransferAuftraggeber()
{
/*
List<string> projekte = new List<string>();
List<IAuftraggeber> auftraggebers = new List<IAuftraggeber>();
Projekt tempProjekt = null;
foreach(DirectoryInfo projekt in (new DirectoryInfo("./projekte").GetDirectories()))
{
projekte.Add(projekt.Name);
}
foreach(string t in projekte)
{
string filepath = Path.Combine("projekte", t, string.Format("{0}.xaml", t));
if (!File.Exists(filepath)) continue;
tempProjekt = XamlServices.Load(filepath) as KlassenBIB.Projekt;
//auftraggebers.Add(tempProjekt.Auftraggeber);
if (tempProjekt.Auftraggeber.Name == null && tempProjekt.Auftraggeber.Ort == null && tempProjekt.Auftraggeber.Ansprechpartner == null) continue;
IAuftraggeber test = Datenbank.Instance.MainDatenbank.AuftraggeberListe.Find(x =>x.Name.Equals(tempProjekt.Auftraggeber.Name));
if (test != null)
{
continue;
}
Datenbank.Instance.MainDatenbank.AuftraggeberListe.Add(tempProjekt.Auftraggeber);
}
*/
}
}
}