125 lines
4.6 KiB
C#
125 lines
4.6 KiB
C#
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);
|
|
|
|
}
|
|
*/
|
|
}
|
|
}
|
|
}
|