-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTab2Control.xaml.cs
162 lines (130 loc) · 5.19 KB
/
Tab2Control.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
using System.Windows.Controls;
using System.Windows;
using System.Diagnostics;
namespace WpfApp
{
public partial class Tab2Control : UserControl
{
private ProduktEingabe _selectedProdukt;
internal ProduktEingabe SelectedProdukt
{
get => _selectedProdukt;
set
{
_selectedProdukt = value;
UpdateEditForm(); // Aktualisiert das Formular, wenn sich die Auswahl ändert
}
}
public Tab2Control()
{
InitializeComponent();
// Initialisiere _selectedProdukt mit einem Standardwert
_selectedProdukt = new ProduktEingabe
{
Produkt = string.Empty,
Beschreibung = string.Empty,
Preis = 0,
Anzahl = 0,
Gesamtpreis = 0
};
}
private void UpdateEditForm()
{
if (SelectedProdukt != null)
{
// Formular sichtbar machen und Felder vorfüllen
editForm.Visibility = Visibility.Visible;
editProdukt.Text = SelectedProdukt.Produkt;
editBeschreibung.Text = SelectedProdukt.Beschreibung;
editPreis.Text = SelectedProdukt.Preis.ToString();
editAnzahl.Text = SelectedProdukt.Anzahl.ToString();
}
else
{
// Formular ausblenden
editForm.Visibility = Visibility.Collapsed;
}
}
private void Window_Loaded()
{
var dbHelper = new DatabaseHelper();
dataGrid.ItemsSource = dbHelper.GetAllProdukte();
}
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
var produkt = SelectedProdukt;
if (produkt != null)
{
// Aktualisiere die Daten des ausgewählten Produkts
var Id = produkt.Id;
var Produkt = editProdukt.Text;
var Beschreibung = editBeschreibung.Text;
var Preis = decimal.TryParse(editPreis.Text, out var preis) ? preis : 0;
var Anzahl = decimal.TryParse(editAnzahl.Text, out var anzahl) ? anzahl : 0;
var Gesamtpreis = Preis * Anzahl;
// Erstelle das ProduktEingabe-Objekt
var eingabe = new ProduktEingabe
{
Id = Id,
Produkt = Produkt,
Beschreibung = Beschreibung,
Preis = Preis,
Anzahl = Anzahl,
Gesamtpreis = Gesamtpreis
};
var dbHelper = new DatabaseHelper();
dbHelper.UpdateProdukt(eingabe);
MessageBox.Show("Änderungen gespeichert.");
// DataGrid aktualisieren
dataGrid.ItemsSource = dbHelper.GetAllProdukte();
}
}
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
var produkt = SelectedProdukt;
if (produkt != null)
{
var dbHelper = new DatabaseHelper();
dbHelper.DeleteProdukt(produkt.Id);
MessageBox.Show("Eintrag gelöscht.");
// DataGrid aktualisieren
dataGrid.ItemsSource = dbHelper.GetAllProdukte();
}
else
{
MessageBox.Show("Kein Eintrag ausgewählt.");
}
}
private void ResetButton2_Click(object sender, RoutedEventArgs e)
{
// Alle Felder auf ihre Standardwerte zurücksetzen
editProdukt.Text = SelectedProdukt.Produkt;
editBeschreibung.Text = SelectedProdukt.Beschreibung;
editPreis.Text = SelectedProdukt.Preis.ToString();
editAnzahl.Text = SelectedProdukt.Anzahl.ToString();
MessageBox.Show("Alle Eingaben wurden zurückgesetzt.", "Reset", MessageBoxButton.OK, MessageBoxImage.Information);
}
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Sicherstellen, dass eine Auswahl vorhanden ist
if (dataGrid.SelectedItem is ProduktEingabe selectedProdukt)
{
Trace.WriteLine($"Ausgewählt: {selectedProdukt.Produkt}, {selectedProdukt.Beschreibung}");
// MessageBox.Show($"Eintrag {selectedProdukt.Produkt}, {selectedProdukt.Beschreibung} selected.");
// Formular sichtbar machen
editForm.Visibility = Visibility.Visible;
SelectedProdukt = selectedProdukt;
// Felder vorfüllen
editProdukt.Text = selectedProdukt.Produkt;
editBeschreibung.Text = selectedProdukt.Beschreibung;
editPreis.Text = selectedProdukt.Preis.ToString();
editAnzahl.Text = selectedProdukt.Anzahl.ToString();
}
}
public void Window_Loaded(object sender, RoutedEventArgs e)
{
var dbHelper = new DatabaseHelper();
dataGrid.ItemsSource = dbHelper.GetAllProdukte();
}
}
}