beta 0.1.1
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / database / VorlesungsplanDatabaseHelper.java
index 8fc5f9569edc11dc2d67b8e531303c7ff85d4ef0..2894cc871cfa381405a46f216b8078fd544f6a4b 100644 (file)
@@ -282,7 +282,54 @@ public class VorlesungsplanDatabaseHelper {
         return eventsArr;
     }
 
+    public CourseEvent[] getCourseEventsByGroup(CourseGroup group) {
+        String[] whereArgs;
+        whereArgs = new String[] {
+                Integer.toString(group.getGroupId())
+        };
+        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 " +
+                        "CourseGroupId = ? ORDER BY CourseCalendarEvent.EventFrom ASC ",
+                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 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;
+    }
 
     public CourseGroup getCourseGroup(int courseGroupId) {
         CourseGroup coursegroup = null;