Klausurübersicht hinzugefügt
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / database / VorlesungsplanDatabaseHelper.java
index f4d5c8a99ba5fb717d5099c34f8536af0a80ff2d..8fc5f9569edc11dc2d67b8e531303c7ff85d4ef0 100644 (file)
@@ -420,4 +420,61 @@ public class VorlesungsplanDatabaseHelper {
         return groupsArr;
     }
 
+    public CourseEvent[] getCourseExamEvents(String coursename, long timeFrom, long timeTo) {
+        String[] whereArgs = new String[] {
+                coursename,
+                Long.toString(timeFrom),
+                Long.toString(timeTo)
+        };
+        Cursor resultSet = database.rawQuery(
+                "SELECT " +
+                        "Id, CourseName, UniqueId, SequenceId, CourseCalendarEvent.EventFrom, CourseCalendarEvent.EventTo, EventTitle, EventLocation, EventStatus, RecurRule, ExcludeDates, CourseGroupId, EventType " +
+                        "FROM " +
+                        "CourseCalendarEvent " +
+                        "LEFT JOIN " +
+                        "CourseCalendar ON CourseCalendar.Id = CourseCalendarEvent.EventId "+
+                        "WHERE " +
+                        "CourseName = ? AND CourseCalendarEvent.EventTo >= ? AND CourseCalendarEvent.EventFrom <= ? AND EventType = 2",
+                whereArgs);
+        ArrayList<CourseEvent> events = new ArrayList<CourseEvent>();
+        if(resultSet.moveToFirst()) {
+            int[] columnIndexes = {
+                    resultSet.getColumnIndex("Id"),
+                    resultSet.getColumnIndex("CourseName"),
+                    resultSet.getColumnIndex("UniqueId"),
+                    resultSet.getColumnIndex("SequenceId"),
+                    resultSet.getColumnIndex("EventFrom"),
+                    resultSet.getColumnIndex("EventTo"),
+                    resultSet.getColumnIndex("EventTitle"),
+                    resultSet.getColumnIndex("EventLocation"),
+                    resultSet.getColumnIndex("EventStatus"),
+                    resultSet.getColumnIndex("RecurRule"),
+                    resultSet.getColumnIndex("ExcludeDates"),
+                    resultSet.getColumnIndex("CourseGroupId"),
+                    resultSet.getColumnIndex("EventType")
+            };
+            do {
+                int groupId = resultSet.getInt(columnIndexes[11]);
+                CourseGroup group;
+                if(groupId > 0)
+                    group = CourseGroup.GetCourseGroupById(AppContext.getDatabaseManager(), groupId);
+                else
+                    group = null;
+
+                int eventType = resultSet.getInt(columnIndexes[12]);
+
+                CourseEvent event = new CourseEvent(resultSet.getInt(columnIndexes[0]), resultSet.getString(columnIndexes[1]), resultSet.getString(columnIndexes[2]), resultSet.getInt(columnIndexes[3]),
+                        resultSet.getLong(columnIndexes[4]), resultSet.getLong(columnIndexes[5]), resultSet.getString(columnIndexes[6]), resultSet.getString(columnIndexes[7]),
+                        resultSet.getString(columnIndexes[8]), resultSet.getString(columnIndexes[9]), resultSet.getString(columnIndexes[10]), group, eventType);
+
+                events.add(event);
+            } while (resultSet.moveToNext());
+        }
+        resultSet.close();
+
+        CourseEvent[] eventsArr = new CourseEvent[events.size()];
+        eventsArr = events.toArray(eventsArr);
+        return eventsArr;
+    }
+
 }