Merge branch 'SQLite'
# Conflicts: # SanSystem/Database/Datenbank.cs
This commit is contained in:
@@ -9,7 +9,6 @@ using System.IO.Compression;
|
||||
using System.Diagnostics;
|
||||
using KlassenBIB;
|
||||
using SanShared.Exceptions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Database
|
||||
{
|
||||
@@ -83,14 +82,9 @@ namespace Database
|
||||
public void SaveProjekt()
|
||||
{
|
||||
string filepath = Path.Combine(pfad, "projekte", "TeufelDB.xaml");
|
||||
try
|
||||
{
|
||||
XamlServices.Save(filepath, TeufelDB);
|
||||
}
|
||||
catch(UnauthorizedAccessException ex)
|
||||
{
|
||||
MessageBox.Show("Fehler beim speichern " + ex.Message);
|
||||
}
|
||||
Trace.WriteLine(filepath);
|
||||
XamlServices.Save(filepath, TeufelDB);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
using KlassenBIB;
|
||||
/*using FastMember;
|
||||
using KlassenBIB;
|
||||
using SanShared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SQLite;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -32,6 +35,169 @@ namespace Database
|
||||
return;
|
||||
}
|
||||
|
||||
public static void CreateSQLiteDB()
|
||||
{
|
||||
var source = Datenbank.Instance.TeufelDB;
|
||||
|
||||
|
||||
// Auftraggber Datatable
|
||||
DataTable dtauftraggeber = new DataTable();
|
||||
|
||||
// Verbindung zur SQLite herstellen
|
||||
|
||||
SQLiteConnection Connection = new SQLiteConnection("Data Source=datenbank.db;Version=3;");
|
||||
|
||||
|
||||
SQLiteCommand Command = new SQLiteCommand("SELECT * FROM Auftraggeber", Connection);
|
||||
SQLiteDataAdapter auftraggeberDA = new SQLiteDataAdapter();
|
||||
//auftraggeberDA.SelectCommand = Command;
|
||||
SQLiteCommandBuilder cmd = new SQLiteCommandBuilder(auftraggeberDA);
|
||||
|
||||
auftraggeberDA.SelectCommand = Command;
|
||||
auftraggeberDA.InsertCommand = cmd.GetInsertCommand();
|
||||
|
||||
Connection.Open();
|
||||
|
||||
auftraggeberDA.Fill(dtauftraggeber);
|
||||
|
||||
DataTable srcdtAuftraggeber = new DataTable();
|
||||
using (var reader = ObjectReader.Create(source.Auftraggeber, "Name", "Strasse", "Ort", "Ansprechpartner"))
|
||||
{
|
||||
srcdtAuftraggeber.Load(reader);
|
||||
}
|
||||
|
||||
foreach (DataRow s in srcdtAuftraggeber.Rows)
|
||||
{
|
||||
DataRow dr = dtauftraggeber.NewRow();
|
||||
//dr.BeginEdit();
|
||||
dr["Name"] = s["Name"];
|
||||
dr["Strasse"] = s["Strasse"];
|
||||
dr["Ort"] = s["Ort"];
|
||||
dr["Ansprechpartner"] = s["Ansprechpartner"];
|
||||
//dr.EndEdit();
|
||||
|
||||
dtauftraggeber.Rows.Add(dr);
|
||||
|
||||
}
|
||||
|
||||
auftraggeberDA.Update(dtauftraggeber);
|
||||
|
||||
//Imprägnierberichte
|
||||
DataTable dtImpraegnierSource = new DataTable();
|
||||
using (var reader = ObjectReader.Create(source.Imprägnierungen))
|
||||
{
|
||||
dtImpraegnierSource.Load(reader);
|
||||
|
||||
}
|
||||
|
||||
Command = new SQLiteCommand("SELECT * FROM Impraegnierungen", Connection);
|
||||
SQLiteDataAdapter imprDA = new SQLiteDataAdapter();
|
||||
cmd = new SQLiteCommandBuilder(imprDA);
|
||||
imprDA.SelectCommand = Command;
|
||||
imprDA.InsertCommand = cmd.GetInsertCommand();
|
||||
DataTable dtImpr = new DataTable();
|
||||
imprDA.Fill(dtImpr);
|
||||
|
||||
foreach(DataRow s in dtImpraegnierSource.Rows)
|
||||
{
|
||||
DataRow dr = dtImpr.NewRow();
|
||||
dr["Schlauchnummer"] = s["Schlauchnummer"];
|
||||
dr["DN"] = s["DN"];
|
||||
dr["Wanddicke"] = s["Wanddicke"];
|
||||
dr["Laenge"] = s["LinerLänge"];
|
||||
dr["NochVorhanden"] = s["NochVorhanden"];
|
||||
dr["Impraegniernummer"] = s["Imprägniernummer"];
|
||||
dr["ImpraegnierDatum"] = (s["ImprägnierungBeginn"] as KlassenBIB.ImprägnierungStrukture).Zeitstempel.Date.ToShortDateString();
|
||||
dtImpr.Rows.Add(dr);
|
||||
}
|
||||
|
||||
imprDA.Update(dtImpr);
|
||||
dtImpr.Clear();
|
||||
imprDA.Fill(dtImpr);
|
||||
|
||||
|
||||
|
||||
|
||||
// Projekt schleife
|
||||
|
||||
Command = new SQLiteCommand("SELECT * FROM Projekt",Connection);
|
||||
SQLiteDataAdapter projektDA = new SQLiteDataAdapter();
|
||||
cmd = new SQLiteCommandBuilder(projektDA);
|
||||
projektDA.SelectCommand = Command;
|
||||
projektDA.InsertCommand = cmd.GetInsertCommand();
|
||||
|
||||
Command = new SQLiteCommand("SELECT * FROM Inspektionsobjekt", Connection);
|
||||
SQLiteDataAdapter objektDA = new SQLiteDataAdapter();
|
||||
cmd = new SQLiteCommandBuilder(objektDA);
|
||||
objektDA.SelectCommand = Command;
|
||||
objektDA.InsertCommand = cmd.GetInsertCommand();
|
||||
|
||||
DataTable dtprojekte = new DataTable();
|
||||
DataTable dtObjekte = new DataTable();
|
||||
projektDA.Fill(dtprojekte);
|
||||
objektDA.Fill(dtObjekte);
|
||||
|
||||
|
||||
int projektID = 1;
|
||||
// Alle Projekte durch gehen
|
||||
foreach(Projekt projekt in source.Projekte)
|
||||
{
|
||||
DataRow projektRow = dtprojekte.NewRow();
|
||||
projektRow["ID"] = projektID;
|
||||
projektRow["Nummer"] = projekt.Nummer;
|
||||
projektRow["Ort"] = projekt.Ort;
|
||||
projektRow["SanierungsIDPrefix"] = projekt.SanierungsIDPrefix;
|
||||
projektRow["SanierungsIDSuffix"] = projekt.SanierungsIDSuffix;
|
||||
|
||||
int objektID = 1;
|
||||
// Alle einzelne Inspektionsobjekte
|
||||
foreach(var inspektionsobjekt in projekt.Objekte)
|
||||
{
|
||||
DataRow objektRow = dtObjekte.NewRow();
|
||||
objektRow["id"] = objektID;
|
||||
objektRow["ref_projekt_id"] = projektID;
|
||||
objektRow["StrasseName"] = inspektionsobjekt.StrasseName;
|
||||
objektRow["Ort"] = inspektionsobjekt.OrtName;
|
||||
objektRow["Hausnummer"] = inspektionsobjekt.Hausnummer;
|
||||
objektRow["Projektnummer"] = inspektionsobjekt.Projektnummer;
|
||||
objektRow["Objektbezeichnung"] = inspektionsobjekt.Objektbezeichnung;
|
||||
objektRow["VonPunkt"] = inspektionsobjekt.VonPunkt;
|
||||
objektRow["BisPunkt"] = inspektionsobjekt.BisPunkt;
|
||||
objektRow["RohrMaterial"] = inspektionsobjekt.RohrMaterial;
|
||||
objektRow["Kanalrohrweite"] = inspektionsobjekt.Kanalrohrweite;
|
||||
objektRow["Haltungslaenge"] = inspektionsobjekt.Haltungslaenge;
|
||||
objektRow["Schachtlaenge"] = inspektionsobjekt.Schachtlaenge;
|
||||
objektRow["HaltungGemessen"] = inspektionsobjekt.HaltungGemessen.ToString();
|
||||
objektRow["Bemerkung"] = inspektionsobjekt.Bemerkung;
|
||||
objektRow["Inspektionsrichtung"] = inspektionsobjekt.Inspektionsrichtung;
|
||||
objektRow["Sanierungsnummer"] = inspektionsobjekt.Sanierungsnummer;
|
||||
|
||||
foreach(Sanierung sanierung in inspektionsobjekt.Sanierung)
|
||||
{
|
||||
if(sanierung is InlinerSanierung)
|
||||
{
|
||||
|
||||
InlinerSanierung san = (InlinerSanierung)sanierung;
|
||||
string searchquery = string.Format("Impraegniernummer = '{0}'",(san.Imprägnierungsbericht as WerkseitigImprägniert).Imprägniernummer);
|
||||
int refimpID = (int)dtImpr.Select(searchquery).Last()["id"];
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
dtObjekte.Rows.Add(objektRow);
|
||||
objektID++;
|
||||
}
|
||||
|
||||
dtprojekte.Rows.Add(projektRow);
|
||||
projektID++;
|
||||
}
|
||||
projektDA.Update(dtprojekte);
|
||||
objektDA.Update(dtObjekte);
|
||||
|
||||
Connection.Close();
|
||||
}
|
||||
|
||||
|
||||
public static void MakeNewDatabaseSystem()
|
||||
@@ -118,7 +284,8 @@ namespace Database
|
||||
Datenbank.Instance.MainDatenbank.AuftraggeberListe.Add(tempProjekt.Auftraggeber);
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user