X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fde%2Fdhbwloe%2Fcampusapp%2Fdatabase%2FVorlesungsplanDatabaseHelper.java;h=aef37d81ac0574dc5f098cdf40d84097cc2cbe16;hb=48e758721a39298a85c69ecc7267f3daf6993e78;hp=f4d5c8a99ba5fb717d5099c34f8536af0a80ff2d;hpb=9a28e7b4c1520f629721693a04b4978fec9692e7;p=DHBWCampusApp.git
diff --git a/app/src/main/java/de/dhbwloe/campusapp/database/VorlesungsplanDatabaseHelper.java b/app/src/main/java/de/dhbwloe/campusapp/database/VorlesungsplanDatabaseHelper.java
index f4d5c8a..aef37d8 100644
--- a/app/src/main/java/de/dhbwloe/campusapp/database/VorlesungsplanDatabaseHelper.java
+++ b/app/src/main/java/de/dhbwloe/campusapp/database/VorlesungsplanDatabaseHelper.java
@@ -1,3 +1,18 @@
+/* VorlesungsplanDatabaseHelper.java
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package de.dhbwloe.campusapp.database;
import android.content.ContentValues;
@@ -282,7 +297,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 events = new ArrayList();
+ 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;
@@ -420,4 +482,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 events = new ArrayList();
+ 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;
+ }
+
}