Files
Kansan/KanSan/MainWindow.xaml.cs
2020-02-16 19:31:30 +01:00

113 lines
4.0 KiB
C#

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
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
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("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();
}
}
}
}