-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSitzungen.java
127 lines (106 loc) · 4.51 KB
/
Sitzungen.java
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
import java.sql.Timestamp;
import java.time.LocalDate;
public class Sitzungen extends ATabellenVerwaltung {
private static Sitzung aktiveSitzung;
private static Sitzungen instance;
public Sitzungen() {}
public static Sitzungen getInstance() {
if (instance == null) {
instance = new Sitzungen();
}
return instance;
}
public void setAktiveSitzung(Sitzung sitzung) {
aktiveSitzung = sitzung;
}
public Sitzung getAktiveSitzung() {
return aktiveSitzung;
}
@Override
public void Wahl() {
if (Anzeigen(Gremien.getInstance().getAktuellesGremium().getID())) {
try {
Timestamp sitzungBeginn = Tools.getInstance().getTimestamp("Geben Sie den Beginn der Sitzung ein");
if (Enthaelt_Eingabe(sitzungBeginn)) {
System.out.println("\033[32mOK\033[0m");
} else {
System.err.println("FALSCH");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public boolean Enthaelt_Eingabe(Timestamp beginn) {
for (APrimaryKey object : Factory.getInstance().getObject(Sitzung.class.toString())) {
Sitzung s = (Sitzung) object;
System.out.println(s.getBeginn() + ".equals(" + beginn + ")"); // Debug: warum läuft der Scheiß nicht immer?
if (s.getBeginn().equals(beginn)) {
Sitzungen.getInstance().setAktiveSitzung(s);
return true;
}
}
return false;
}
@Override
public boolean Enthaelt_Eingabe(String eingabe) {return true;}
@Override
public boolean Anzeigen() {
return true;
}
@Override
public boolean Anzeigen(Integer id_gremium) {
System.out.println("[\033[35mSitzungen für Gremium (" + id_gremium + ")\033[0m]");
hs_ids hs = new hs_ids(
"select s.id " +
"from sitzungen s " +
"inner join hat on hat.id_sitzungen = s.id " +
"inner join gremien g on g.id = hat.id_gremien " +
"where g.id = " +
Gremien.getInstance().getAktuellesGremium().getID()
);
if (hs.getHS().size() == 0) {
System.err.println("Für dieses Gremium gibt es keine Sitzungen");
return false;
}
for (APrimaryKey object : Factory.getInstance().getObject(Sitzung.class.toString())) {
Sitzung s = (Sitzung)object;
if (hs.getHS().contains(s.getID())) {
System.out.printf("\nID: %d\nBeginn: %s\nEnde: %s\nEinladung_am: %s\noeffentlich: %b\nOrt: %s\nProtokoll: %s\n", s.getID(), s.getBeginn().toString(), s.getEnde().toString(), s.getEinladung_am().toString(), s.getOeffentlich(), s.getOrt(), s.getProtokoll());
}
}
return true;
}
@Override
public void Erzeugen() {
Timestamp beginn = Tools.getInstance().getTimestamp("Gib den Beginn der Sitzung");
Timestamp ende = Tools.getInstance().getTimestamp("Gib das Ende der Sitzung");
LocalDate einladung_am = Tools.getInstance().getLocalDate("Gib das Datum der Einladung");
Boolean oeffentlich = Tools.getInstance().frage_Ja_Nein("Ist die Sitzung öffentlich");
System.out.print("Gib den Ort der Sitzung ein: ");
String ort = Main.scanner.nextLine();
System.out.print("Gib das Protokoll der Sitzung ein (oder null): ");
String protokoll = Main.scanner.nextLine();
if (protokoll.matches("null")) {
protokoll = "";
}
setAktiveSitzung(Factory.getInstance().createSitzung(beginn, ende, einladung_am, oeffentlich, ort, protokoll));
ConnectionManager.getInstance().executeStatement(
"insert into sitzungen values (" +
getAktiveSitzung().getID() + ", " +
getAktiveSitzung().getBeginn() + ", " +
getAktiveSitzung().getEnde() + ", " +
getAktiveSitzung().getEinladung_am() + ", " +
(getAktiveSitzung().getOeffentlich() ? "1" : "0") + ", " +
getAktiveSitzung().getOrt() + ", " +
getAktiveSitzung().getProtokoll() + ")"
);
ConnectionManager.getInstance().executeStatement(
"insert into hat values (" +
Gremien.getInstance().getAktuellesGremium().getID() + ", " +
getAktiveSitzung().getID() + ")"
);
ConnectionManager.getInstance().executeStatement("commit");
}
}