New Calender View Logic Concept
This commit is contained in:
@@ -173,58 +173,92 @@ public class DataBaseHandler
|
||||
/**
|
||||
ENTRIES
|
||||
*/
|
||||
//method that returns all entries of a day based on the given parameters
|
||||
public Entry[] getEntries(int dayinweek, int weeknumber, int semesterid, User user)
|
||||
public void addEntry(Entry entry)
|
||||
{
|
||||
try
|
||||
{
|
||||
//search the correct data in the database
|
||||
ResultSet rs = st.executeQuery("select distinct e.id, e.dayid, e.usercreatedbyid, e.timestart, e.timeend, e.info " +
|
||||
"from entries e, days d, weeks w, semester s " +
|
||||
"where e.dayid = d.id and " +
|
||||
"d.weekid = w.id and " +
|
||||
"w.semesterid = s.id and " +
|
||||
"d.dayinweek = " + dayinweek + " and " +
|
||||
"w.weeknumber = " + weeknumber + " and " +
|
||||
"s.id = " + semesterid);
|
||||
|
||||
|
||||
int editable = 0;
|
||||
|
||||
//a temporary list to save entry objects in
|
||||
List<Entry> temp = new ArrayList<>();
|
||||
//while there a still entries for the day
|
||||
while(rs.next())
|
||||
{
|
||||
editable = 0;
|
||||
//if entry has been created by the requesting user set the entry to editable (or the user is admin)
|
||||
if(rs.getInt("usercreatedbyid") == user.getId() || user.getPermissions() == 1)
|
||||
{
|
||||
editable = 1;
|
||||
}
|
||||
|
||||
temp.add(
|
||||
new Entry(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("dayid"),
|
||||
rs.getInt("usercreatedbyid"),
|
||||
rs.getInt("timestart"),
|
||||
rs.getInt("timeend"),
|
||||
rs.getString("info"),
|
||||
editable
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
//return the temporary list as an array
|
||||
return temp.toArray(new Entry[0]);
|
||||
|
||||
} catch (SQLException e)
|
||||
st.executeUpdate("insert into entries (daynumber, yearnumber, semesterid, usercreatedbyid, timestart, timeend, info) values (" +
|
||||
entry.getDaynumber() + ", " + entry.getYearnumber() + ", " + entry.getSemesterid() + ", " +
|
||||
entry.getUsercreatedbyid() + ", " + entry.getTimestart() + ", " + entry.getTimeend() + ", '" + entry.getInfo() + "')"
|
||||
);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
throw new RuntimeException(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public Entry[][] getEntries(int semesterid, int daynumber, int yearnumber)
|
||||
{
|
||||
try
|
||||
{
|
||||
ResultSet rs = st.executeQuery("select * from entries where " +
|
||||
"semesterid=" + semesterid +
|
||||
" and yearnumber=" + yearnumber +
|
||||
" and daynumber between " + daynumber + " and " + daynumber + 6);
|
||||
|
||||
List<Entry> entryList = new ArrayList<>();
|
||||
Entry current = null;
|
||||
while((current = resultSetToEntry(rs)) != null)
|
||||
{
|
||||
entryList.add(current);
|
||||
}
|
||||
|
||||
Entry[][] entries = new Entry[6][20];
|
||||
for(int i = 0; i < 6; i++)
|
||||
{
|
||||
for(int j = 0; j < entryList.size(); j++)
|
||||
{
|
||||
if(entryList.get(j).getDaynumber() == i + daynumber)
|
||||
{
|
||||
entries[i][j] = entryList.get(j);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return entries;
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteEntry(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
st.executeUpdate("delete from entries where id=" + id);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Entry resultSetToEntry(ResultSet rs)
|
||||
{
|
||||
try
|
||||
{
|
||||
rs.next();
|
||||
return new Entry(
|
||||
rs.getInt("id"),
|
||||
rs.getInt("daynumber"),
|
||||
rs.getInt("yearnumber"),
|
||||
rs.getInt("usercreatedbyid"),
|
||||
rs.getInt("timestart"),
|
||||
rs.getInt("timeend"),
|
||||
rs.getInt("semesterid"),
|
||||
rs.getString("info")
|
||||
);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
SEMESTER
|
||||
*/
|
||||
|
||||
@@ -4,22 +4,24 @@ package com.example.backend.anwprj.Entries;
|
||||
public class Entry
|
||||
{
|
||||
private int id;
|
||||
private int dayid;
|
||||
private int daynumber;
|
||||
private int yearnumber;
|
||||
private int usercreatedbyid;
|
||||
private int timestart;
|
||||
private int timeend;
|
||||
private int semesterid;
|
||||
private String info;
|
||||
private int editable;
|
||||
|
||||
public Entry(int id, int dayid, int usercreatedbyid, int timestart, int timeend, String info, int editable)
|
||||
public Entry(int id, int daynumber, int yearnumber, int usercreatedbyid, int timestart, int timeend, int semesterid, String info)
|
||||
{
|
||||
this.id = id;
|
||||
this.dayid = dayid;
|
||||
this.daynumber = daynumber;
|
||||
this.yearnumber = yearnumber;
|
||||
this.usercreatedbyid = usercreatedbyid;
|
||||
this.timestart = timestart;
|
||||
this.timeend = timeend;
|
||||
this.semesterid = semesterid;
|
||||
this.info = info;
|
||||
this.editable = editable;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
@@ -27,9 +29,14 @@ public class Entry
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getDayid()
|
||||
public int getDaynumber()
|
||||
{
|
||||
return dayid;
|
||||
return daynumber;
|
||||
}
|
||||
|
||||
public int getYearnumber()
|
||||
{
|
||||
return yearnumber;
|
||||
}
|
||||
|
||||
public int getUsercreatedbyid()
|
||||
@@ -47,33 +54,13 @@ public class Entry
|
||||
return timeend;
|
||||
}
|
||||
|
||||
public int getSemesterid()
|
||||
{
|
||||
return semesterid;
|
||||
}
|
||||
|
||||
public String getInfo()
|
||||
{
|
||||
return info;
|
||||
}
|
||||
|
||||
public void setDayid(int dayid)
|
||||
{
|
||||
this.dayid = dayid;
|
||||
}
|
||||
|
||||
public void setTimestart(int timestart)
|
||||
{
|
||||
this.timestart = timestart;
|
||||
}
|
||||
|
||||
public void setTimeend(int timeend)
|
||||
{
|
||||
this.timeend = timeend;
|
||||
}
|
||||
|
||||
public void setInfo(String info)
|
||||
{
|
||||
this.info = info;
|
||||
}
|
||||
|
||||
public int getEditable()
|
||||
{
|
||||
return editable;
|
||||
}
|
||||
}
|
||||
|
||||
+18
-18
@@ -18,28 +18,28 @@ public class EntriesController
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@GetMapping("/entries")
|
||||
public ResponseEntity<Entry[]> getEntries(
|
||||
@RequestParam(name = "sessionid") String sessionID,
|
||||
@RequestParam(name = "dayinweek") int dayinweek,
|
||||
@RequestParam(name = "weeknumber") int weeknumber,
|
||||
@RequestParam(name = "semesterid") int semesterid)
|
||||
@PostMapping("/entries")
|
||||
public ResponseEntity<Boolean> postEntry(@RequestBody Entry entry)
|
||||
{
|
||||
User user = UserSessionIDHandler.getUserBySessionID(sessionID);
|
||||
|
||||
if(user == null)
|
||||
{
|
||||
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
|
||||
Entry[] entries = db.getEntries(dayinweek, weeknumber, semesterid, user);
|
||||
return new ResponseEntity<>(entries, HttpStatus.OK);
|
||||
db.addEntry(entry);
|
||||
return new ResponseEntity<>(true, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@PostMapping("/entries")
|
||||
public ResponseEntity<Entry[]> postEntries(@RequestBody Entry[] entries, @RequestParam(name="sessionid") String sessionID)
|
||||
@GetMapping("/entries")
|
||||
public ResponseEntity<Entry[][]> getEntries(@RequestParam(name="semesterid") int semesterid,
|
||||
@RequestParam(name="daynumber") int daynumber,
|
||||
@RequestParam(name="yearnumber") int yearnumber)
|
||||
{
|
||||
return null;
|
||||
|
||||
return new ResponseEntity<>(db.getEntries(semesterid, daynumber, yearnumber), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@CrossOrigin
|
||||
@DeleteMapping("/entries")
|
||||
public ResponseEntity<Boolean> deleteEntry(@RequestParam(name="id") int id)
|
||||
{
|
||||
db.deleteEntry(id);
|
||||
return new ResponseEntity<>(true, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user