diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index c40749c8..bf6ce86c 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -112,10 +112,14 @@
+
+
+ TimeTableDay.xaml
+
@@ -352,6 +356,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
MSBuild:Compile
Designer
diff --git a/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs b/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs
new file mode 100644
index 00000000..38d5c9fb
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Model/TimeTable/AppointmentModel.cs
@@ -0,0 +1,151 @@
+//-----------------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// fiedlchr
+// 26.08.2013
+//-----------------------------------------------------------------------------
+
+namespace CampusAppWP8.Model.TimeTable
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Text.RegularExpressions;
+ using System.Windows.Shapes;
+ using System.Xml.Serialization;
+
+ ///
+ /// Model for appointments.
+ ///
+ [XmlRoot("root")]
+ public class AppointmentModel
+ {
+ /// The Visual object.
+ private Rectangle rect = null;
+
+ private IcsVEvent data;
+
+ private struct IcsVEvent
+ {
+ public DateTime created;
+ public string uid;
+ public DateTime lastModified;
+ public DateTime stamp;
+ public string summary;
+ public DateTime start;
+ public DateTime end;
+ public string accessClass;
+ public string location;
+ public string description;
+ public string categories;
+ }
+
+ /// Initializes a new instance of the class.
+ public AppointmentModel()
+ {
+ }
+
+ public AppointmentModel(string icsData) : this()
+ {
+ this.ImportFromICS(icsData);
+ }
+
+ public Rectangle GetRectangle()
+ {
+ return this.rect;
+ }
+
+ public void ImportFromICS(string icsData)
+ {
+ string[] elems = Regex.Split(icsData, "\r\n");
+
+ foreach (string e in elems)
+ {
+ string[] parts = e.Split(':');
+
+ if (parts.Length != 2)
+ {
+ throw new NotImplementedException("error in ics string");
+ }
+
+ if (parts[0].Contains(";"))
+ {
+ parts[0] = parts[0].Split(';')[0];
+ }
+
+ switch (parts[0])
+ {
+ case "BEGIN":
+ break;
+ case "CREATED":
+ this.data.created = this.ParseUTC(parts[1]);
+ break;
+ case "UID":
+ this.data.uid = parts[1];
+ break;
+ case "LAST-MODIFIED":
+ this.data.lastModified = this.ParseUTC(parts[1]);
+ break;
+ case "DTSTAMP":
+ this.data.stamp = this.ParseUTC(parts[1]);
+ break;
+ case "SUMMARY":
+ this.data.summary = parts[1];
+ break;
+ case "DTSTART":
+ this.data.start = this.ParseUTC(parts[1]);
+ break;
+ case "DTEND":
+ this.data.end = this.ParseUTC(parts[1]);
+ break;
+ case "CLASS":
+ this.data.accessClass = parts[1];
+ break;
+ case "LOCATION":
+ this.data.location = parts[1];
+ break;
+ case "DESCRIPTION":
+ this.data.description = parts[1];
+ break;
+ case "CATEGORIES":
+ this.data.categories = parts[1];
+ break;
+ case "END":
+ break;
+ case "VERSION":
+ break;
+ case "PRODID":
+ break;
+ case "X-WR-CALNAME":
+ break;
+
+ default:
+ throw new NotImplementedException("unknown tag in ics: " + parts[0]);
+ }
+ }
+ }
+
+ public string ExportToICS()
+ {
+ string retValue = string.Empty;
+
+
+ return retValue;
+ }
+
+ private void CreateRect()
+ {
+
+ }
+
+ private DateTime ParseUTC(string datetime)
+ {
+ datetime = datetime.Insert(4, "-");
+ datetime = datetime.Insert(7, "-");
+ datetime = datetime.Insert(13, ":");
+ datetime = datetime.Insert(16, ":");
+
+ return DateTime.Parse(datetime);
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml
new file mode 100644
index 00000000..7a7746ae
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
new file mode 100644
index 00000000..b84c2d6e
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/Pages/TimeTable/TimeTableDay.xaml.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Navigation;
+using Microsoft.Phone.Controls;
+using Microsoft.Phone.Shell;
+using CampusAppWP8.Model.TimeTable;
+
+
+namespace CampusAppWP8.Pages.TimeTable
+{
+ public partial class TimeTableDay : PhoneApplicationPage
+ {
+ private AppointmentModel testMod = null;
+
+ public TimeTableDay()
+ {
+ InitializeComponent();
+ this.testMod = new AppointmentModel("BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:ownCloud Calendar 0.6.3\r\nX-WR-CALNAME:MyTestAppointment\r\nBEGIN:VEVENT\r\nCREATED;VALUE=DATE-TIME:20130826T142318Z\r\nUID:617332baab\r\nLAST-MODIFIED;VALUE=DATE-TIME:20130826T142318Z\r\nDTSTAMP;VALUE=DATE-TIME:20130826T142318Z\r\nSUMMARY:MyTestAppointment\r\nDTSTART;VALUE=DATE-TIME:20130730T130000Z\r\nDTEND;VALUE=DATE-TIME:20130730T133000Z\r\nCLASS:PUBLIC\r\nLOCATION:BTU Campus\r\nDESCRIPTION:bla\r\nCATEGORIES:Arbeit\r\nEND:VEVENT\r\nEND:VCALENDAR");
+ }
+ }
+}
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml
index 4d8b94b2..91a401ea 100644
--- a/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml
+++ b/CampusAppWP8/CampusAppWP8/Properties/WMAppManifest.xml
@@ -18,7 +18,7 @@
-
+