+/* 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 <http://www.gnu.org/licenses/>.
+ */
package de.dhbwloe.campusapp.database;
import android.content.ContentValues;
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;
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;
+ }
+
}