using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using KanSan.Klassen; using Microsoft.EntityFrameworkCore; namespace KanSan { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public static void InsertOrUpdateGraph(KanSanContext context, Kunde kunde) { var existingKunde = context.Kunden .Include(b => b.Baustellen) .FirstOrDefault(b => b.ID == kunde.ID); if (existingKunde == null) context.Add(kunde); else { context.Entry(existingKunde).CurrentValues.SetValues(kunde); foreach(var baustelle in kunde.Baustellen) { var existingBaustelle = existingKunde.Baustellen .FirstOrDefault(p => p.ID == baustelle.ID); if(existingBaustelle == null) { existingKunde.Baustellen.Add(baustelle); } else { context.Entry(existingBaustelle).CurrentValues.SetValues(baustelle); } } } context.SaveChanges(); } private void Button_Click(object sender, RoutedEventArgs e) { using (KanSanContext ksc = new KanSanContext()) { var kunden = ksc.Kunden.First(); kunden.NeueBaustelle(ksc,"Oldenburg", "Strasse33", "20-850-012"); /* Baustelle baustelle = new Baustelle(kunden); baustelle.ID = Guid.NewGuid(); baustelle.Ort = "Oldenburg"; baustelle.Projektnummer = "20-850-006"; baustelle.Strasse = "Ammerländer"; ksc.Add(baustelle); */ //NeueBaustelle("Oldenburg", "Ammerländer", "20-850-006"); //InsertOrUpdateGraph(ksc, kunden); } /*InitialKundenDatabase(); InitialLeistungsverzeichnis(); */ } private void InitialKundenDatabase() { Kunde kunde = new Kunde() { Vorname = "Fa.", Nachname = "OOWV", Ort = "Brake", PLZ = "268741", Strasse = "Donnerschweerstraße 74" }; //kunde.NeueBaustelle("Oldenburg", "Kaspersweg", "20-850-003"); using (KanSanContext ksc = new KanSanContext()) { ksc.Kunden.Add(kunde); ksc.SaveChanges(); } } private void InitialLeistungsverzeichnis() { using (KanSanContext ksc = new KanSanContext()) { Leistungsverzeichnis leistungsverzeichnis = new Leistungsverzeichnis("JunkerMevesGenerell"); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.01", "Kurzliner", "Stk", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.02", "Mat KL", "m", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.03", "Stutzen Hut", "Stk", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.04", "Stutzen andere", "Stk", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.05", "VA-Manschette", "Stk", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.06", "Öffnen", "Stk", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.07", "Fräsen", "h", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.08", "Hindernisse", "Stk", 0); leistungsverzeichnis.AddLeistungsverzeichnisPosition("0.09", "Anrauhen", "Stk", 0); ksc.Leistungsverzeichnisses.Add(leistungsverzeichnis); ksc.SaveChanges(); } } } }