diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 023a3e6..ce934be 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -6,8 +6,11 @@
-
-
+
+
+
+
+
@@ -154,6 +157,10 @@
+
+
+
+
diff --git a/anwendung/src/components/CalendarSideBar.jsx b/anwendung/src/components/CalendarSideBar.jsx
index 9f2a180..f2b5388 100644
--- a/anwendung/src/components/CalendarSideBar.jsx
+++ b/anwendung/src/components/CalendarSideBar.jsx
@@ -14,9 +14,9 @@ export default function BasicDateCalendar(p) {
const ref = useRef(null)
- function getBackMonthColor(monthIndex)
+ function getBackMonthColor(monthIndex) //Farbliche Kennzeichnung des Monats in dem man aktuell Plant
{
- let date = new Date(parseInt(startParts[2]), parseInt(startParts[1]) + monthIndex - 1, 1)
+ let date = new Date(parseInt(startParts[2]), parseInt(startParts[1]) + monthIndex - 1, 1) //Datums Objekt des Monats in dem man sich aktuell befindet
if (date.getFullYear() === p.highlightYear && date.getMonth() === p.highlightMonth)
{
if(lastMonth !== p.highlightMonth)
@@ -35,8 +35,8 @@ export default function BasicDateCalendar(p) {
result = []
calculatedDay = []
- startDate = new Date(p.startyear, 0 ,p.startday)
- let endDate = new Date(p.endyear, 0 , p.endday)
+ startDate = new Date(p.startyear, 0 ,p.startday) //Startdatum des Theoriesemesters
+ let endDate = new Date(p.endyear, 0 , p.endday) //Enddatum des Theoriesemesters
let startString = startDate.getDate() + "." + (startDate.getMonth() + 1) + "." + p.startyear
let endString = endDate.getDate() + "." + (endDate.getMonth() + 1) + "." + p.endyear
generateCalendar(startString, endString)
@@ -45,10 +45,10 @@ export default function BasicDateCalendar(p) {
return (
- {result.map((monthResult, index) => (
+ {result.map((monthResult, index) => ( //map durch alle Monate aus dem Array monthResult
p.onMonthClick(
(parseInt(startParts[1]) + index),
- startParts
+ startParts //gibt zurück auf welchen Monat geklickt wurde, wodurch direkt in den jeweiligen Monat gewechselt werden kann
)} >
{weekdays.map((weekday) => (
-
{weekday}
))}
@@ -82,8 +82,7 @@ export default function BasicDateCalendar(p) {
}
-
-function getMonthName(monthIndex) {
+function getMonthName(monthIndex) { //holt die relevanten Monatsnamen aus dem 2D Array
if (startParts[1] - 1 + monthIndex < 12) {
return months[startParts[1] - 1 + monthIndex][0];
} else {
@@ -94,31 +93,31 @@ function getMonthName(monthIndex) {
function generateCalendar(start, ende)
{
splitter(start, ende)
- if (startParts[2] < endParts[2])
+ if (startParts[2] < endParts[2]) //Abfrage für den Fall, dass ein Theoriesemester Jahresübergreifend ist
{
- for (let i = startParts[1] - 1; i <= 11; i++)
+ for (let i = startParts[1] - 1; i <= 11; i++) //Durchlaufe alle Monate bis zum Jahresende
{
let monthResult = [];
- for (let j = 1; j <= days[i]; j++)
+ for (let j = 1; j <= days[i]; j++) //durchlaufe alle Tage des Monats in dem wir uns befinden
{
if (
new Date(startParts[2], i, j) >= new Date(startParts[2], startParts[1] - 1, startParts[0]) &&
new Date(startParts[2], i, j) <= new Date(startParts[2], 11, 31)
- )
+ ) //überprüft ob der Tag noch in der angegebenen Zeitspanne des Theoriesemsters liegt
{
monthResult.push(j);
calculateDay(startParts[2], i, j)
}
}
result.push(monthResult);
- if (i == 11)
+ if (i == 11) //erstes Jahr ist fertig abgebildet
{
- for (let h = 0; h <= endParts[1] - 1; h++)
+ for (let h = 0; h <= endParts[1] - 1; h++) //laufe vom Anfang des Jahres bis zum angegebenen Ende des Theoriesemesters
{
let monthResultNewYear = [];
- for (let g = 1; g <= days[h]; g++)
+ for (let g = 1; g <= days[h]; g++) //durchlaufe alle Tage des Monats in dem wir uns befinden
{
- if (new Date(endParts[2], h, g) <= new Date(endParts[2], endParts[1] - 1, endParts[0]))
+ if (new Date(endParts[2], h, g) <= new Date(endParts[2], endParts[1] - 1, endParts[0])) //überprüft ob der Tag noch in der angegebenen Zeitspanne des Theoriesemsters liegt
{
monthResultNewYear.push(g);
calculateDay(endParts[2], h, g)
@@ -128,17 +127,17 @@ function generateCalendar(start, ende)
}
}
}
- } else
+ } else //Normalfall das ein Anfang und Ende eines Theoriesemester im gleichen Jahr liegt
{
- for (let i = startParts[1] - 1; i <= endParts[1] - 1; i++)
+ for (let i = startParts[1] - 1; i <= endParts[1] - 1; i++) //durchlaufe alle Monate in der angegebenen Zeitspanne
{
let monthResult = [];
- for (let j = 1; j <= days[i]; j++)
+ for (let j = 1; j <= days[i]; j++) //durchlaufe alle Tage des Monats in dem wir uns befinden
{
if (
new Date(startParts[2], i, j) >= new Date(startParts[2], startParts[1] - 1, startParts[0]) &&
new Date(startParts[2], i, j) <= new Date(startParts[2], endParts[1] - 1, endParts[0])
- )
+ ) //überprüft ob der Tag noch in der angegebenen Zeitspanne des Theoriesemsters liegt
{
monthResult.push(j)
calculateDay(startParts[2], i, j)
@@ -149,7 +148,8 @@ function generateCalendar(start, ende)
}
}
-function calculateDay(x, i, j){
+function calculateDay(x, i, j)//berechnet den Wochentag eines Datums (Montag,...,Sonntag)
+{
if (j == startDate.getDate() && i == startDate.getMonth() || j == 1){
let monthStart = new Date(x, i, j)
if (monthStart.getDay() == 0)
@@ -158,7 +158,7 @@ function calculateDay(x, i, j){
}
}
-function freeSpaces(index)
+function freeSpaces(index)//generiert Leerzeichen damit Tage genau unter ihrem jeweiligen Wochentag stehen
{
let arrayTest = []
for (let i = 0; i < calculatedDay[index]; i++) {
diff --git a/anwendung/src/components/DateElement.jsx b/anwendung/src/components/DateElement.jsx
index 8e1a47a..9ad31ae 100644
--- a/anwendung/src/components/DateElement.jsx
+++ b/anwendung/src/components/DateElement.jsx
@@ -9,9 +9,9 @@ export default function DateElement(p){
let startDate = new Date(p.year, 0, p.startday);
let endDate = new Date(p.year, 0, p.startday + 5);
- let startDateString = `${startDate.getDate()}.${startDate.getMonth()+1}.${startDate.getFullYear()}`;
- let endDateString = `${endDate.getDate()}.${endDate.getMonth()+1}.${endDate.getFullYear()}`;
- return (
+ let startDateString = `${startDate.getDate()}.${startDate.getMonth()+1}.${startDate.getFullYear()}`; //Anfang der Woche in der man sich befindet wird in startDateString geladen
+ let endDateString = `${endDate.getDate()}.${endDate.getMonth()+1}.${endDate.getFullYear()}`; //Ende der Woche in der man sich befindet wird in endDateString geladen
+ return /*Anzeige des Beginns und Endes der Woche in der man sich befindet*/(
<>
{startDateString} - {endDateString}
diff --git a/anwendung/src/components/WeekSelector.jsx b/anwendung/src/components/WeekSelector.jsx
index 18f6e17..0b46ad2 100644
--- a/anwendung/src/components/WeekSelector.jsx
+++ b/anwendung/src/components/WeekSelector.jsx
@@ -7,7 +7,7 @@ import { arrowRight } from "./Icons"
export default function WeekSelector(p){
- return (
+ return /*Aufruf des DateElements mit aktuellem Starttag im Jahr und dem Jahr, sowie Buttons zum hin und her Wechsel der Wochen*/(
<>
diff --git a/backend/src/main/java/com/example/backend/anwprj/Database/DataBaseHandler.java b/backend/src/main/java/com/example/backend/anwprj/Database/DataBaseHandler.java
index 67a4b01..4f780a2 100644
--- a/backend/src/main/java/com/example/backend/anwprj/Database/DataBaseHandler.java
+++ b/backend/src/main/java/com/example/backend/anwprj/Database/DataBaseHandler.java
@@ -49,7 +49,7 @@ public class DataBaseHandler {
st.executeUpdate("insert into entries (daynumber, yearnumber, semesterid, usercreatedbyid, timestart, timeend, moduleid, info) values (" +
entry.getDaynumber() + ", " + entry.getYearnumber() + ", " + entry.getSemesterid() + ", " +
entry.getUsercreatedbyid() + ", " + entry.getTimestart() + ", " + entry.getTimeend() + ", " + entry.getModuleid() + " ,'" + entry.getInfo() + "')"
- );
+ ); //Datenbank Eintrag eines neu erstellten Entry mit allen nötigen Informationen
}
catch(Exception e)
{
@@ -68,28 +68,31 @@ public class DataBaseHandler {
Entry current = null;
while ((current = resultSetToEntry(rs)) != null) {
entryList.add(current);
- }
+ } //Datenbankanfrage für alle Entries bei denen die Semesterid, das Jahr und der Tag mit den übergebenen Paramtern übereinstimmt
Entry[][] entries = new Entry[6][20];
- for (int i = 0; i < 6; i++) {
+ for (int i = 0; i < 6; i++) //durchlaufe die Anzahl der Tage einer Vorlesungswoche (Montag,...,Samstag)
+ {
int f = 0;
- for (int j = 0; j < entryList.size(); j++) {
+ for (int j = 0; j < entryList.size(); j++)
+ {
if (entryList.get(j).getDaynumber() == i + daynumber) {
- entries[i][f] = entryList.get(j);
+ entries[i][f] = entryList.get(j); //belade das Array "entries" mit dem entries einer woche
f++;
}
}
}
- return entries;
+ return entries; //gib das Array "entries" zurück
} catch (Exception e) {
return null;
}
}
- public Entry[][] getAllEntrys(int semesterid, int daynumber, int yearnumber, int userid) {
+ public Entry[][] getAllEntrys(int semesterid, int daynumber, int yearnumber, int userid) //Datenbankanfrage für alle Entries eines Users in einem Semester
+ {
try {
ResultSet rs = st.executeQuery("select * from entries where " +
"semesterid<>" + semesterid +
@@ -119,7 +122,7 @@ public class DataBaseHandler {
}
- public Entry[] getAllEntries()
+ public Entry[] getAllEntries() //Datenbankanfrage für alle Entries
{
try {
ResultSet rs = st.executeQuery("select * from entries");
@@ -137,7 +140,7 @@ public class DataBaseHandler {
}
}
- public Entry[] getAllEntriesModule(int moduleid)
+ public Entry[] getAllEntriesModule(int moduleid) //Datenbankanfrage für alle Entries eines spezifischen Moduls
{
try {
ResultSet rs = st.executeQuery("select * from entries where moduleid=" + moduleid);
@@ -156,7 +159,8 @@ public class DataBaseHandler {
}
}
- public void deleteEntry(int id) {
+ public void deleteEntry(int id) //Löschung eines spezifischen entries
+ {
try {
st.executeUpdate("delete from entries where id=" + id);
} catch (Exception e) {
@@ -164,7 +168,8 @@ public class DataBaseHandler {
}
}
- public void updateEntry(Entry entry) {
+ public void updateEntry(Entry entry) //Aktualisiere Einträge eines Entry falls es verändert wurde
+ {
try {
st.executeUpdate("update entries set timeend=" + entry.getTimeend() + ", timestart=" + entry.getTimestart() + " where id=" + entry.getId());
} catch (Exception e) {
@@ -209,7 +214,8 @@ public class DataBaseHandler {
}
}
- public Semester getSemester(int id) {
+ public Semester getSemester(int id)
+ {
try {
ResultSet rs = st.executeQuery("select * from semester where id=" + id);
return resultSetToSemester(rs);
@@ -244,7 +250,8 @@ public class DataBaseHandler {
}
}
- public Semester updateSemester(Semester semester) {
+ public Semester updateSemester(Semester semester) //Aktualisiere die Einträge eines Semesters bei Veränderungen durch editier Funktion
+ {
try {
st.executeUpdate("update semester set startday=" + semester.getStartday() + ", " +
"endday=" + semester.getEndday() + ", " +