diff --git a/data/angebot_counter.txt b/data/angebot_counter.txt deleted file mode 100644 index f11c82a..0000000 --- a/data/angebot_counter.txt +++ /dev/null @@ -1 +0,0 @@ -9 \ No newline at end of file diff --git a/data/angebote.csv b/data/angebote.csv deleted file mode 100644 index dda9032..0000000 --- a/data/angebote.csv +++ /dev/null @@ -1,9 +0,0 @@ -AN-2026-000001;2026-06-24;K-000001;2026-07-24;OFFEN;0.00;0.00;0.00 -AN-2026-000002;2026-06-24;K-000001;2026-07-24;OFFEN;0.00;0.00;0.00 -AN-2026-000003;2026-06-24;K-000001;2026-07-24;UEBERFUEHRT;0.00;0.00;0.00 -AN-2026-000004;2026-06-24;K-000099;2026-07-24;OFFEN;0.00;0.00;0.00 -AN-2026-000005;2026-06-24;K-000001;2026-07-24;UEBERFUEHRT;0.00;0.00;0.00 -AN-2026-000006;2026-06-24;K-000001;2026-07-24;UEBERFUEHRT;0.00;0.00;0.00 -AN-2026-000007;2026-06-24;K-000001;2026-07-24;UEBERFUEHRT;0.00;0.00;0.00 -AN-2026-000008;2026-06-24;K-000001;2026-07-24;UEBERFUEHRT;0.00;0.00;0.00 -AN-2026-000009;2026-06-24;K-000001;2026-07-24;OFFEN;20.00;3.80;23.80 diff --git a/data/kunden.csv b/data/kunden.csv index ce05721..e69de29 100644 --- a/data/kunden.csv +++ b/data/kunden.csv @@ -1,5 +0,0 @@ -K-000002;Ref GmbH;Str. 1;68163;Mannheim;DE111111111;ref@ref.de;0621-111111;;AKTIV -K-000003;Muster GmbH;Hauptstr. 1;68163;Mannheim;DE123456789;info@muster.de;0621-123456;;AKTIV -K-000004;Edit GmbH;Str. 1;68163;Mannheim;DE333333333;neu@edit.de;0621-333333;;AKTIV -K-000006;Test AG;Teststr. 1;68163;Mannheim;DE987654321;test@test.de;0621-654321;;AKTIV -K-000007;Muster GmbH;Hauptstr. 1;68163;Mannheim;DE123456789;info@muster.de;0621-123456;;AKTIV diff --git a/data/kunden_counter.txt b/data/kunden_counter.txt index c793025..56a6051 100644 --- a/data/kunden_counter.txt +++ b/data/kunden_counter.txt @@ -1 +1 @@ -7 \ No newline at end of file +1 \ No newline at end of file diff --git a/data/produkt_counter.txt b/data/produkt_counter.txt index 301160a..56a6051 100644 --- a/data/produkt_counter.txt +++ b/data/produkt_counter.txt @@ -1 +1 @@ -8 \ No newline at end of file +1 \ No newline at end of file diff --git a/data/produkte.csv b/data/produkte.csv index 08c7dcd..e69de29 100644 --- a/data/produkte.csv +++ b/data/produkte.csv @@ -1,6 +0,0 @@ -P-000002;Verfuegbar;9.99;0.19;5;; -P-000003;Ausverkauft;9.99;0.19;0;; -P-000004;Hammer;5.99;0.19;20;; -P-000006;Edit Artikel;15.00;0.19;10;; -P-000007;Ref Artikel;1.00;0.19;5;; -P-000008;Testprodukt;19.99;0.19;100;; diff --git a/data/rechnung_counter.txt b/data/rechnung_counter.txt deleted file mode 100644 index 7813681..0000000 --- a/data/rechnung_counter.txt +++ /dev/null @@ -1 +0,0 @@ -5 \ No newline at end of file diff --git a/data/rechnungen.csv b/data/rechnungen.csv deleted file mode 100644 index 754e51b..0000000 --- a/data/rechnungen.csv +++ /dev/null @@ -1,5 +0,0 @@ -R-2026-000001;2026-06-24;K-000001;2026-06-24;2026-06-24;2026-07-08;AN-2026-000003;OFFEN;true;0.00;0.00;0.00 -R-2026-000002;2026-06-24;K-000001;2026-06-24;2026-06-24;2026-07-08;AN-2026-000005;OFFEN;false;0.00;0.00;0.00 -R-2026-000003;2026-06-24;K-000001;2026-06-24;2026-06-24;2026-07-08;AN-2026-000006;OFFEN;false;0.00;0.00;0.00 -R-2026-000004;2026-06-24;K-000001;2026-06-24;2026-06-24;2026-07-08;AN-2026-000007;OFFEN;false;20.00;3.80;23.80 -R-2026-000005;2026-06-24;K-000001;2026-06-24;2026-06-24;2026-07-08;AN-2026-000008;OFFEN;false;20.00;3.80;23.80 diff --git a/out/ui/KundenPanel$1.class b/out/ui/KundenPanel$1.class index ad5c964..e885211 100644 Binary files a/out/ui/KundenPanel$1.class and b/out/ui/KundenPanel$1.class differ diff --git a/out/ui/KundenPanel.class b/out/ui/KundenPanel.class index ecb08aa..6a1d5ad 100644 Binary files a/out/ui/KundenPanel.class and b/out/ui/KundenPanel.class differ diff --git a/out/ui/ProduktPanel$1.class b/out/ui/ProduktPanel$1.class index 1ec342f..59501bd 100644 Binary files a/out/ui/ProduktPanel$1.class and b/out/ui/ProduktPanel$1.class differ diff --git a/out/ui/ProduktPanel.class b/out/ui/ProduktPanel.class index d35eed6..3229d9f 100644 Binary files a/out/ui/ProduktPanel.class and b/out/ui/ProduktPanel.class differ diff --git a/src/main/java/ui/KundenPanel.java b/src/main/java/ui/KundenPanel.java index 478c9aa..91a7acb 100644 --- a/src/main/java/ui/KundenPanel.java +++ b/src/main/java/ui/KundenPanel.java @@ -27,6 +27,7 @@ public class KundenPanel extends JPanel { add(erstelleKopf(), BorderLayout.NORTH); add(erstelleTabelle(), BorderLayout.CENTER); add(erstelleFormular(), BorderLayout.EAST); + add(erstelleAktionen(), BorderLayout.SOUTH); } private JPanel erstelleKopf() { @@ -124,6 +125,41 @@ public class KundenPanel extends JPanel { return form; } + private JPanel erstelleAktionen() { + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10)); + panel.setBackground(Color.WHITE); + panel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(202, 220, 252)), + BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); + + JButton loeschenBtn = erstelleButton("Ausgewaehlten Kunden loeschen", new Color(180, 50, 50)); + loeschenBtn.addActionListener(e -> { + int zeile = tabelle.getSelectedRow(); + if (zeile == -1) { + JOptionPane.showMessageDialog(this, + "Bitte waehlen Sie einen Kunden aus.", + "Kein Kunde ausgewaehlt", JOptionPane.WARNING_MESSAGE); + return; + } + String kundenId = (String) tabellenModell.getValueAt(zeile, 0); + int bestaetigung = JOptionPane.showConfirmDialog(this, + "Moechten Sie den Kunden " + kundenId + " wirklich loeschen?", + "Loeschen bestaetigen", JOptionPane.YES_NO_OPTION); + if (bestaetigung == JOptionPane.YES_OPTION) { + boolean ok = service.kundeLoschen(kundenId); + if (ok) { + ladeKunden(); + JOptionPane.showMessageDialog(this, + "Kunde wurde erfolgreich geloescht.", + "Erfolg", JOptionPane.INFORMATION_MESSAGE); + } + } + }); + panel.add(loeschenBtn); + return panel; + } + private JTextField erstelleFeld(JPanel panel, String label) { JLabel lbl = new JLabel(label); lbl.setFont(new Font("Calibri", Font.PLAIN, 12)); diff --git a/src/main/java/ui/ProduktPanel.java b/src/main/java/ui/ProduktPanel.java index 107484c..304312e 100644 --- a/src/main/java/ui/ProduktPanel.java +++ b/src/main/java/ui/ProduktPanel.java @@ -28,6 +28,7 @@ public class ProduktPanel extends JPanel { add(erstelleKopf(), BorderLayout.NORTH); add(erstelleTabelle(), BorderLayout.CENTER); add(erstelleFormular(), BorderLayout.EAST); + add(erstelleAktionen(), BorderLayout.SOUTH); } private JPanel erstelleKopf() { @@ -129,6 +130,41 @@ public class ProduktPanel extends JPanel { return form; } + private JPanel erstelleAktionen() { + JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10)); + panel.setBackground(Color.WHITE); + panel.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createLineBorder(new Color(202, 220, 252)), + BorderFactory.createEmptyBorder(5, 10, 5, 10) + )); + + JButton loeschenBtn = erstelleButton("Ausgewaehlten Artikel loeschen", new Color(180, 50, 50)); + loeschenBtn.addActionListener(e -> { + int zeile = tabelle.getSelectedRow(); + if (zeile == -1) { + JOptionPane.showMessageDialog(this, + "Bitte waehlen Sie einen Artikel aus.", + "Kein Artikel ausgewaehlt", JOptionPane.WARNING_MESSAGE); + return; + } + String produktId = (String) tabellenModell.getValueAt(zeile, 0); + int bestaetigung = JOptionPane.showConfirmDialog(this, + "Moechten Sie den Artikel " + produktId + " wirklich loeschen?", + "Loeschen bestaetigen", JOptionPane.YES_NO_OPTION); + if (bestaetigung == JOptionPane.YES_OPTION) { + boolean ok = service.produktLoeschen(produktId); + if (ok) { + ladeProdukte(); + JOptionPane.showMessageDialog(this, + "Artikel wurde erfolgreich geloescht.", + "Erfolg", JOptionPane.INFORMATION_MESSAGE); + } + } + }); + panel.add(loeschenBtn); + return panel; + } + private JTextField erstelleFeld(JPanel panel, String label) { JLabel lbl = new JLabel(label); lbl.setFont(new Font("Calibri", Font.PLAIN, 12));