Datenbank wird convertiert

This commit is contained in:
HuskyTeufel
2020-07-03 11:00:08 +02:00
parent 6d1861a581
commit 79256c17e8
5 changed files with 110 additions and 1 deletions

View File

@@ -29,10 +29,18 @@ namespace Database
public KlassenBIB.Projekt loadedProjekt = null;
public KlassenBIB.MainDataBase MainDatenbank = null;
public KlassenBIB.DB TeufelDB = null;
public Datenbank()
{
string filepath = Path.Combine("./projekte","MainDatenbank.xaml");
TeufelDB = new KlassenBIB.DB();
string filepath = "";
filepath = Path.Combine("./projekte", "TeufelDB.xaml");
if(File.Exists(filepath))
TeufelDB = XamlServices.Load("./projekte/TeufelDB.xaml") as KlassenBIB.DB;
//Debugger.Break();
filepath = Path.Combine("./projekte","MainDatenbank.xaml");
if(File.Exists(filepath))
{
MainDatenbank = XamlServices.Load(filepath) as KlassenBIB.MainDataBase;
@@ -71,6 +79,7 @@ namespace Database
UpdateDatabase.UpdateNewGuids();
UpdateDatabase.TransferAuftraggeber();
UpdateDatabase.MakeNewDatabaseSystem();
UpdateDatabase.TransferSanierteObjekte();
return true;
}
@@ -211,6 +220,7 @@ namespace Database
{
XamlServices.Save("./projekte/MainDatenbank.xaml", MainDatenbank);
XamlServices.Save(projektpfad, loadedProjekt);
XamlServices.Save("./projekte/TeufelDB.xaml", TeufelDB);
}
}
}

View File

@@ -91,6 +91,69 @@ namespace Database
}
}
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;
}
Datenbank.Instance.TeufelDB.Auftraggeber = Datenbank.Instance.MainDatenbank.AuftraggeberListe;
Datenbank.Instance.TeufelDB.Imprägnierungen = Datenbank.Instance.MainDatenbank.ImprägnierBerichtListe;
ClearImprägnierungen();
GenerateNewBeziehungen();
}
static void ClearImprägnierungen()
{
foreach(var x in Datenbank.Instance.TeufelDB.Imprägnierungen)
{
if (x.MitLinerSanierteObjekte == null) continue;
x.MitLinerSanierteObjekte.Clear();
}
}
static void GenerateNewBeziehungen()
{
string imprägnierungsnummer = "";
foreach(Projekt projekt in Datenbank.Instance.TeufelDB.Projekte)
{
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>();