diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index 23dd80f4..cd225cb6 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -97,10 +97,13 @@
MainPage.xaml
+
+ EventPage.xaml
+
NewsPage.xaml
-
+
RSSNewsTemplate.xaml
@@ -129,6 +132,10 @@
MSBuild:Compile
Designer
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -187,9 +194,7 @@
..\packages\WPtoolkit.4.2012.10.30\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/pages/events/EventPage.xaml.cs b/CampusAppWP8/CampusAppWP8/pages/events/EventPage.xaml.cs
new file mode 100644
index 00000000..ebd2273b
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/pages/events/EventPage.xaml.cs
@@ -0,0 +1,128 @@
+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 System.Xml.Linq;
+using System.Xml;
+using System.IO;
+using Microsoft.Phone.Tasks;
+
+// Should be CampusAppWP8.pages (for RSSItem).
+using CampusAppWP8.pages.news;
+
+
+namespace CampusAppWP8.pages.events
+{
+ public partial class EventPage : PhoneApplicationPage
+ {
+ List itemList;
+
+ public EventPage()
+ {
+ InitializeComponent();
+ }
+
+ protected override void OnNavigatedTo(NavigationEventArgs e)
+ {
+ this.itemList = new List();
+ this.itemList.Clear();
+
+ WebClient wc = new WebClient();
+ wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(WC_DownloadStringCompleted);
+
+ wc.DownloadStringAsync(new Uri("http://www.tu-cottbus.de/oracle-gateway/php/rss2feed_veranstaltungen.php"));
+ }
+
+ private void WC_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
+ {
+ if (e.Error != null)
+ return;
+
+ int i = 0;
+
+ XElement xmlitems = XElement.Parse(e.Result);
+
+ List elements = xmlitems.Descendants("item").ToList();
+
+
+ foreach (XElement rssItem in elements)
+ {
+ if(i < 12)
+ {
+ RSSItem rss = new RSSItem();
+
+ rss.Title = rssItem.Element("title").Value;
+ rss.Text = rssItem.Element("description").Value;
+ rss.Timestamp = rssItem.Element("pubDate").Value;
+ rss.Link = rssItem.Element("link").Value;
+
+ this.itemList.Add(rss);
+
+ i++;
+ }
+ }
+
+ this.itemList.Sort(RSSItem.CompareTimeStamp);
+
+ for(i = 0; i < this.itemList.Count(); i++)
+ {
+ Button btn = new Button();
+ btn.Name = "EventRowAppButton" + i;
+ btn.Content = this.itemList[i].Title;
+ btn.BorderBrush = null;
+ btn.Background = null;
+ btn.VerticalContentAlignment = VerticalAlignment.Stretch;
+ btn.HorizontalContentAlignment = HorizontalAlignment.Stretch;
+ btn.BorderThickness = new Thickness(0);
+ btn.Padding = new Thickness(0);
+ btn.Click += EventRowAppButton_Click;
+ btn.Tag = i;
+
+ PivotItem newPivItem = new PivotItem();
+ newPivItem.Name = "EventPivot" + i;
+ newPivItem.Header = this.itemList[i].Date;
+
+ RSSNewsTemplate pvContent = new RSSNewsTemplate();
+ pvContent.NewsHeadline.Text = this.itemList[i].Title;
+ pvContent.NewsText.Text = this.itemList[i].Text;
+ pvContent.NewsHome.Click += EventHome_Click;
+ pvContent.NewsLink.Click += EventLink_Click;
+ pvContent.NewsLink.Tag = i;
+
+ if (this.itemList[i].Link.Length == 0)
+ pvContent.NewsLink.Visibility = Visibility.Collapsed;
+
+ newPivItem.Content = pvContent;
+ EventPivot.Items.Add(newPivItem);
+
+ ButtonPanel.Items.Add(btn);
+ }
+ }
+
+ //
+ private void EventRowAppButton_Click(object sender, RoutedEventArgs e)
+ {
+ Button btn = (Button)sender;
+ EventPivot.SelectedIndex = (int)btn.Tag + 1;
+ }
+
+ private void EventHome_Click(object sender, RoutedEventArgs e)
+ {
+ EventPivot.SelectedIndex = 0;
+ }
+
+ private void EventLink_Click(object sender, RoutedEventArgs e)
+ {
+ Button btn = (Button)sender;
+
+ WebBrowserTask webBrowserTask = new WebBrowserTask();
+ webBrowserTask.Uri = new Uri(this.itemList[(int)btn.Tag].Link, UriKind.Absolute);
+ webBrowserTask.Show();
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWP8/pages/news/NewsPage.xaml.cs b/CampusAppWP8/CampusAppWP8/pages/news/NewsPage.xaml.cs
index b98bc8e0..b653acbb 100644
--- a/CampusAppWP8/CampusAppWP8/pages/news/NewsPage.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/pages/news/NewsPage.xaml.cs
@@ -10,6 +10,8 @@ using Microsoft.Phone.Shell;
using System.Xml.Linq;
using System.Xml;
using System.IO;
+using Microsoft.Phone.Tasks;
+
namespace CampusAppWP8.pages.news
{
@@ -80,6 +82,26 @@ namespace CampusAppWP8.pages.news
pvContent.NewsHeadline.Text = rss.Title;
pvContent.NewsText.Text = rss.Text;
pvContent.NewsHome.Click += NewsHome_Click;
+ pvContent.NewsLink.Click += NewsLink_Click;
+ pvContent.NewsLink.Tag = i;
+ /*
+ {
+ double height = pvContent.NewsHeadline.Height * 0.99;
+ double width = pvContent.NewsHeadline.Width * 0.99;
+
+ Font tryFont = pvContent.NewsHeadline.Font;
+ Size tempSize = TextRenderer.MeasureText(pvContent.NewsHeadline.Text, tryFont);
+
+ float heightRatio = height / tempSize.Height;
+ float widthRatio = width / tempSize.Width;
+
+ tryFont = new Font(tryFont.FontFamily, tryFont.Size * Math.Min(widthRatio, heightRatio), tryFont.Style);
+
+ pvContent.NewsHeadline.Font = tryFont;
+ }
+ */
+ if ((rss.Link == null) || (rss.Link.Length == 0))
+ pvContent.NewsLink.Visibility = Visibility.Collapsed;
newPivItem.Content = pvContent;
NewsPivot.Items.Add(newPivItem);
@@ -102,5 +124,14 @@ namespace CampusAppWP8.pages.news
{
NewsPivot.SelectedIndex = 0;
}
+
+ private void NewsLink_Click(object sender, RoutedEventArgs e)
+ {
+ Button btn = (Button)sender;
+
+ WebBrowserTask webBrowserTask = new WebBrowserTask();
+ webBrowserTask.Uri = new Uri(this.itemList[(int)btn.Tag].Link, UriKind.Absolute);
+ webBrowserTask.Show();
+ }
}
}
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/pages/news/RSSNewsTemplate.xaml b/CampusAppWP8/CampusAppWP8/pages/news/RSSNewsTemplate.xaml
index 0266db8a..cded6e06 100644
--- a/CampusAppWP8/CampusAppWP8/pages/news/RSSNewsTemplate.xaml
+++ b/CampusAppWP8/CampusAppWP8/pages/news/RSSNewsTemplate.xaml
@@ -24,5 +24,6 @@
+