Comments
Alle, von mir zu bearbeitenden, komplizierten und relevanten Codeteile wurden ausführlich beschrieben
This commit is contained in:
Generated
+9
-2
@@ -6,8 +6,11 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="744e9299-0ce3-415c-8733-c935bf920887" name="Changes" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/components/StatusBar.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/components/StatusBar.jsx" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/styles/globals.css" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/styles/globals.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/components/CalendarSideBar.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/components/CalendarSideBar.jsx" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/components/DateElement.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/components/DateElement.jsx" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/components/WeekSelector.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/components/WeekSelector.jsx" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/pages/semesteroverview.js" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/pages/semesteroverview.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/anwendung/src/pages/semesteroverviewLecturer.js" beforeDir="false" afterPath="$PROJECT_DIR$/anwendung/src/pages/semesteroverviewLecturer.js" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -154,6 +157,10 @@
|
||||
<workItem from="1687349584578" duration="477000" />
|
||||
<workItem from="1687354510081" duration="453000" />
|
||||
<workItem from="1687354999964" duration="291000" />
|
||||
<workItem from="1687431213516" duration="596000" />
|
||||
<workItem from="1688661149524" duration="602000" />
|
||||
<workItem from="1688661766941" duration="1680000" />
|
||||
<workItem from="1688812359996" duration="6843000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
||||
@@ -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 (
|
||||
<div className={"Allround"} ref={ref}>
|
||||
<div className={"Down"}>
|
||||
{result.map((monthResult, index) => (
|
||||
{result.map((monthResult, index) => ( //map durch alle Monate aus dem Array monthResult
|
||||
<div className={"A box-shadow"} onClick={() => 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
|
||||
)} >
|
||||
<p style={{
|
||||
textAlign : "center",
|
||||
@@ -63,7 +63,7 @@ export default function BasicDateCalendar(p) {
|
||||
pointerEvents: "none"
|
||||
}}>
|
||||
{weekdays.map((weekday) => (
|
||||
<p key={weekday} style={{
|
||||
<p key={weekday} style={{ //generiere einmal alle Wochentage (Montag,...,Sonntag)
|
||||
pointerEvents: "none"
|
||||
}}>{weekday}</p>
|
||||
))}
|
||||
@@ -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++) {
|
||||
|
||||
@@ -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*/(
|
||||
<>
|
||||
<div className="dateElement round-border box-shadow">
|
||||
<p>{startDateString} - {endDateString}</p>
|
||||
|
||||
@@ -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*/(
|
||||
<>
|
||||
<div className="weekSelector">
|
||||
<Button icon={arrowLeft} onClick={() => p.onFunctionLeft()} width={50} color={"#346991"}/>
|
||||
|
||||
@@ -22,6 +22,7 @@ export default function SemesterOverview(p) {
|
||||
let allModules
|
||||
let allEntries
|
||||
|
||||
//Datenanfrage an das Backend für alle existierenden Semester
|
||||
await fetch(urlTest).then(response => response.json()).then(s => {
|
||||
allSemesters = s
|
||||
if (set) {
|
||||
@@ -30,17 +31,21 @@ export default function SemesterOverview(p) {
|
||||
}).then(() => {
|
||||
if(!set)
|
||||
{
|
||||
//Datenanfrage an das Backend um alle Module zu erhalten
|
||||
fetch(baseURL + "/module/all?sessionid=" + localStorage.getItem("sessionid")).then(r => r.json()).then(mod => {
|
||||
allModules = mod
|
||||
}).then(() => {
|
||||
//Datenanfrage an das Backend um alle gesetzten Entries zu erhalten
|
||||
fetch(baseURL + "/entries/all?sessionid=" + localStorage.getItem("sessionid")).then(r => r.json()).then(en => {
|
||||
allEntries = en
|
||||
}).then(() => {
|
||||
let modulesCountInSemester = []
|
||||
for (let i = 0; i < allSemesters.length; i++) {
|
||||
for (let i = 0; i < allSemesters.length; i++) //durchlaufe die Anzahl der Semester welche von dem Backend zurück gegeben wurden
|
||||
{
|
||||
let count = 0
|
||||
for (let j = 0; j < allModules.length; j++) {
|
||||
if (allSemesters[i].id === allModules[j].semesterid) {
|
||||
for (let j = 0; j < allModules.length; j++) { //durchlaufe die Anzahl der Module welche von dem Backend zurück gegeben wurden
|
||||
if (allSemesters[i].id === allModules[j].semesterid) //Prüfe ob das Modul zu dem jeweiligen Semester gehört und erhöhe count
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -48,20 +53,25 @@ export default function SemesterOverview(p) {
|
||||
}
|
||||
|
||||
let temp = []
|
||||
for (let s = 0; s < allSemesters.length; s++) {
|
||||
for (let s = 0; s < allSemesters.length; s++) //durchlaufe die Anzahl der Semester welche von dem Backend zurück gegeben wurden
|
||||
{
|
||||
let count = 0;
|
||||
|
||||
for (let i = 0; i < allModules.length; i++) {
|
||||
if (allModules[i].semesterid === allSemesters[s].id) {
|
||||
for (let i = 0; i < allModules.length; i++) //durchlaufe die Anzahl der Module welche von dem Backend zurück gegeben wurden
|
||||
{
|
||||
if (allModules[i].semesterid === allSemesters[s].id) //Prüfe ob das Modul zu dem jeweiligen Semester gehört
|
||||
{
|
||||
let sum = 0
|
||||
let ent = allEntries.filter(e => e.moduleid === allModules[i].id)
|
||||
for (let j = 0; j < ent.length; j++) {
|
||||
sum += ent[j].timeend - ent[j].timestart
|
||||
let ent = allEntries.filter(e => e.moduleid === allModules[i].id) //lade alle Entries die zu dem Modul gehören in dem wir uns befinden in die Variable
|
||||
for (let j = 0; j < ent.length; j++) //durchlaufe die Anzahl der Entries aus ent
|
||||
{
|
||||
sum += ent[j].timeend - ent[j].timestart //summiere die Dauer aller Entries in dem Semester
|
||||
}
|
||||
|
||||
sum /= 3
|
||||
|
||||
if (sum >= 20 && allModules[i].activated === 0) {
|
||||
if (sum >= 20 && allModules[i].activated === 0) //Überprüfung ob alle 20 Schulstunden eines Moduls gesetzt worden sind und der Vorlesungsplan des Moduls abgegeben worden ist
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
@@ -75,7 +85,7 @@ export default function SemesterOverview(p) {
|
||||
temp.push(100)
|
||||
}
|
||||
|
||||
setProgresses(temp)
|
||||
setProgresses(temp) //setze die Fortschrittsleiste entsprechend der Einträge im Semester
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +99,7 @@ export default function SemesterOverview(p) {
|
||||
function onClickSemester(e, m) {
|
||||
if (m.target === m.currentTarget) {
|
||||
localStorage.setItem("currentsid", e.id)
|
||||
router.push("/planning")
|
||||
router.push("/planning") //leite weiter auf die Planungsseite
|
||||
localStorage.setItem("semestername", e.name + " Sem. " + (e.number + 1))
|
||||
}
|
||||
|
||||
@@ -97,7 +107,7 @@ export default function SemesterOverview(p) {
|
||||
|
||||
function onClickNewSemester() {
|
||||
localStorage.setItem("currentsid", 0);
|
||||
router.push("/createSemester");
|
||||
router.push("/createSemester"); //leite weiter auf die Seite für das Inputform zur Erstellung eines neuen Semesters
|
||||
}
|
||||
|
||||
|
||||
@@ -115,9 +125,9 @@ export default function SemesterOverview(p) {
|
||||
|
||||
async function funcButtonDelete() {
|
||||
let id = localStorage.getItem("currentsid");
|
||||
let url = baseURL + "/semester?sessionid=" + localStorage.getItem("sessionid") + "&id=" + id;
|
||||
let url = baseURL + "/semester?sessionid=" + localStorage.getItem("sessionid") + "&id=" + id; //Anfrage an das Backend auf spezifisches Semesters auf das geklickt worden ist
|
||||
await fetch(url, {
|
||||
method: "DELETE"
|
||||
method: "DELETE" //lösche das spezifisch angeklickte Semester
|
||||
});
|
||||
|
||||
togglePopup();
|
||||
@@ -129,6 +139,7 @@ export default function SemesterOverview(p) {
|
||||
localStorage.setItem("currentsid", e.id);
|
||||
let semester = e;
|
||||
|
||||
//setze die Einträge des Semesters auf die aktuell gespeicherten Einträge
|
||||
let startYear = semester.startyear;
|
||||
let endYear = semester.endyear;
|
||||
let startDay = semester.startday;
|
||||
@@ -137,6 +148,7 @@ export default function SemesterOverview(p) {
|
||||
let startDate = new Date(startYear, 0, startDay + 1);
|
||||
let endDate = new Date(endYear, 0, endDay + 1);
|
||||
|
||||
//speichere die abgeänderten Daten des Semesters
|
||||
await router.push({
|
||||
pathname: "/createSemester",
|
||||
query: {
|
||||
@@ -170,16 +182,16 @@ export default function SemesterOverview(p) {
|
||||
{
|
||||
entries.map((e, index) => (
|
||||
<div className={"semester-tile box-shadow"} onClick={(f) => onClickSemester(e, f)}>
|
||||
<SemesterTile text={e.name + " Sem. " + (e.number + 1)} onClick={(f) => onClickSemester(e, f)}
|
||||
<SemesterTile text={e.name + " Sem. " + (e.number + 1)} onClick={(f) => onClickSemester(e, f) /*Darstellung der Semester mit ihren Namen und der Semesternummer in welcher der Kurs sich befindet*/}
|
||||
onButtonDeleteClick={() => {
|
||||
localStorage.setItem("currentsid", e.id)
|
||||
setModalHint(e.name + " Löschen?");
|
||||
togglePopup();
|
||||
}} onButtonEditClick={(m) => {
|
||||
localStorage.setItem("currentsid", e.id)
|
||||
funcButtonEdit(e, m);
|
||||
funcButtonEdit(e, m) /*Aufruf der Editierfunktion für das Angeklickte Semester*/;
|
||||
}}/>
|
||||
<StatusBar progress={progresses[index]}/>
|
||||
<StatusBar progress={progresses[index] /*Fortschrittsleiste wird gesetzt*/}/>
|
||||
<div style={
|
||||
{
|
||||
display: "flex",
|
||||
@@ -202,7 +214,7 @@ export default function SemesterOverview(p) {
|
||||
</div>))
|
||||
}
|
||||
<Button color={"#dcdcdc"} text={"+"} width={240} height={160} fontColor={"black"} fontSize={50}
|
||||
onClick={() => onClickNewSemester()}/>
|
||||
onClick={() => onClickNewSemester() /*Zuweisung der Funktion für den Button zu Erstellung eines neuen Semesters*/}/>
|
||||
<PopUp hint={modalHint} text1={"Abbrechen"} text2={"Löschen"} displayState={modalDisplay}
|
||||
function1={funcButtonAbort} function2={funcButtonDelete}/>
|
||||
</div>
|
||||
|
||||
@@ -14,41 +14,48 @@ export default function SemesteroverviewLecturer(p) {
|
||||
function getModules() {
|
||||
let urlTest = baseURL + "/module/id?sessionid=" + localStorage.getItem("sessionid");
|
||||
|
||||
//Datenanfrage an das Backend für alle Module welche dem User zugewiesen worden sind
|
||||
fetch(urlTest).then(response => response.json()).then(m => {
|
||||
setEntries(m);
|
||||
let args = "";
|
||||
for (let i = 0; i < m.length; i++) {
|
||||
args += m[i].semesterid;
|
||||
for (let i = 0; i < m.length; i++) //durchlaufe die Anzahl der Module
|
||||
{
|
||||
args += m[i].semesterid; //füge dem String "args" die Einträge hinzu
|
||||
|
||||
if (i < m.length - 1) {
|
||||
args += "a";
|
||||
args += "a"; //trenne die Einträge durch ein "a" voneinander ab
|
||||
}
|
||||
}
|
||||
|
||||
let temp = []
|
||||
|
||||
let semesterURL = baseURL + "/semester/id/all?ids=" + args + "&sessionid=" + localStorage.getItem("sessionid");
|
||||
|
||||
//Datenanfrage an das Backend für alle Semester welche dem User für die Planung zugewiesen sind
|
||||
fetch(semesterURL).then(r => r.json()).then(sem => {
|
||||
sem.map(e => {
|
||||
temp.push(e.name + " Sem. " + (e.number + 1))
|
||||
temp.push(e.name + " Sem. " + (e.number + 1)) //lade das Semester in welchem der Kurs sich befindet in das Array "temp"
|
||||
})
|
||||
}).then(() => setSemesterNames(temp)).then(() => {
|
||||
let entriesURL = baseURL + "/entries/all?sessionid=" + localStorage.getItem("sessionid")
|
||||
|
||||
//Datenanfrage an das Backend aller Entries eines Moduls eines Semesters (automatisch nur die Entries die durch den User erstellt worden sind)
|
||||
fetch(entriesURL).then(r => r.json()).then(en => {
|
||||
let tempTimeStamps = []
|
||||
for(let j = 0; j < m.length; j++)
|
||||
for(let j = 0; j < m.length; j++) //durchlaufe die Anzahl an Modulen die von dem Backend zurückgegeben worden sind
|
||||
{
|
||||
let sum = 0
|
||||
let currentModule = m[j]
|
||||
for (let i = 0; i < en.length; i++)
|
||||
for (let i = 0; i < en.length; i++) //durchlaufe die Anzahl der Entries die von dem Backend zurückgegeben worden sind
|
||||
{
|
||||
if(currentModule.id === en[i].moduleid)
|
||||
{
|
||||
sum += en[i].timeend - en[i].timestart
|
||||
sum += en[i].timeend - en[i].timestart //summiere die Dauer all dieser Entries
|
||||
}
|
||||
}
|
||||
|
||||
sum /= 3
|
||||
tempTimeStamps.push(sum)
|
||||
tempTimeStamps.push(sum) //lade die Summe aller Entries eines Moduls in das Array "tempTimeStamps"
|
||||
}
|
||||
|
||||
setTimeStamps(tempTimeStamps)
|
||||
@@ -82,9 +89,8 @@ export default function SemesteroverviewLecturer(p) {
|
||||
const [semesterNames, setSemesterNames] = useState([]);
|
||||
const router = useRouter();
|
||||
|
||||
function getProgressForTime(time, activated)
|
||||
function getProgressForTime(time, activated)//überprüfe welchen Status die Fortschrittsanzeige haben muss und gib diesen zurück
|
||||
{
|
||||
console.log(activated)
|
||||
|
||||
if(time === 0)
|
||||
{
|
||||
@@ -113,7 +119,7 @@ export default function SemesteroverviewLecturer(p) {
|
||||
editable={false} text={semesterNames[index]} text2={e.name}
|
||||
onClick={(f) => onClickSemester(e, f, semesterNames[index])}
|
||||
/>
|
||||
<StatusBar progress={getProgressForTime(timeStamps[index], e.activated)} module={e}/>
|
||||
<StatusBar progress={getProgressForTime(timeStamps[index], e.activated)/*beladenes Array "timeStamps" an der Stelle "index" => relevante Summe der Einträge eines Moduls in einem Semester/Kurs*/} module={e}/>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -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() + ", " +
|
||||
|
||||
Reference in New Issue
Block a user