KlassenDLL im Main integriert
This commit is contained in:
124
SanSystem/Database/UpdateDatabase.cs
Normal file
124
SanSystem/Database/UpdateDatabase.cs
Normal 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);
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user