alpha 0.0.1
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / database / DatabaseManager.java
index ccf9a0424297fc8bdd1485304941bd06e2d9f3ea..fed7eaca8bbd92f2547c9d01c67b279c44e9cff4 100644 (file)
@@ -6,6 +6,7 @@ import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.util.Log;
 
+import net.fortuna.ical4j.model.Component;
 import net.fortuna.ical4j.model.DateList;
 import net.fortuna.ical4j.model.DateTime;
 import net.fortuna.ical4j.model.Period;
@@ -31,7 +32,7 @@ import de.dhbwloe.campusapp.vorlesungen.CourseGroup;
  */
 public class DatabaseManager {
     private static final String DATABASE_NAME = "DHBWLoe.CampusApp.DEV";
-    private static final int DATABASE_VERSION = 1;
+    private static final int DATABASE_VERSION = 2;
     private CampusAppContext AppContext;
     private SQLiteDatabase database;
     private NewsDatabaseHelper newsDBHelper;
@@ -67,7 +68,8 @@ public class DatabaseManager {
         if(version < DATABASE_VERSION)
             upgradeTables(version, DATABASE_VERSION);
 
-
+        //database.execSQL("DELETE FROM CourseCalendar");
+        //database.execSQL("DELETE FROM CourseCalendarEvent");
     }
 
     private void upgradeTables(int oldVersion, int newVersion) {
@@ -162,10 +164,14 @@ public class DatabaseManager {
         }
         if(oldVersion < 2 && newVersion >= 2) {
             // Version 2
+            database.execSQL("ALTER TABLE CourseCalendarEvent ADD EventType INT;");
+        }
+        if(oldVersion < 3 && newVersion >= 3) {
+            // Version 3
 
         }
 
-        database.execSQL("UPDATE Version SET Version = "+Integer.toString(newVersion));
+        database.execSQL("UPDATE Version SET Version = " + Integer.toString(newVersion));
     }
 
     public void addSearchIndices(SearchIndices[] indices) {
@@ -356,11 +362,11 @@ public class DatabaseManager {
         return nfcCardData;
     }
 
-    public void updateCourseCalendar(CourseEvent event) {
+    public void updateCourseCalendar(CourseEvent event, Component cevent) {
         openDatabase();
         if(vorlesungsplanDBHelper == null)
             vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
-        vorlesungsplanDBHelper.updateCourseCalendar(event);
+        vorlesungsplanDBHelper.updateCourseCalendar(event, cevent);
     }
 
     public CourseEvent[] getCourseCalendarEvents(String coursename, long timeFrom, long timeTo) {
@@ -370,6 +376,13 @@ public class DatabaseManager {
         return vorlesungsplanDBHelper.getCourseCalendarEvents(coursename, timeFrom, timeTo);
     }
 
+    public CourseEvent[] getCourseCalendarTimetable(String coursename, long timeFrom, int days) {
+        openDatabase();
+        if(vorlesungsplanDBHelper == null)
+            vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
+        return vorlesungsplanDBHelper.getCourseCalendarTimetable(coursename, timeFrom, days);
+    }
+
     public CourseGroup getCourseGroup(int courseGroupId) {
         openDatabase();
         if(vorlesungsplanDBHelper == null)
@@ -391,6 +404,13 @@ public class DatabaseManager {
         return vorlesungsplanDBHelper.addCourseGroup(coursename, groupname);
     }
 
+    public CourseGroup[] getCourseGroups(String coursename, Date notBefore) {
+        openDatabase();
+        if(vorlesungsplanDBHelper == null)
+            vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
+        return vorlesungsplanDBHelper.getCourseGroups(coursename, notBefore);
+    }
+
     public void updateMensaTagesplan(MensaTagesplan plan) {
         openDatabase();
         if(mensaplanDBHelper == null)