diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index 15d058d4..000fbfcb 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -123,7 +123,7 @@
NewsPage.xaml
-
+
RSSNewsTemplate.xaml
diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs
index 4f6aa3de..259a25eb 100644
--- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs
+++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs
@@ -1,4 +1,5 @@
-//------------------------------------------------------------------------------
+<<<<<<< HEAD
+//------------------------------------------------------------------------------
//
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18046
@@ -294,6 +295,15 @@ namespace CampusAppWP8.Resources {
}
}
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Link ähnelt.
+ ///
+ public static string NewsLinkBtn {
+ get {
+ return ResourceManager.GetString("NewsLinkBtn", resourceCulture);
+ }
+ }
+
///
/// Sucht eine lokalisierte Zeichenfolge, die Öffnungszeiten ähnelt.
///
@@ -412,3 +422,5 @@ namespace CampusAppWP8.Resources {
}
}
}
+
+
diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx
index 0e96f9f4..9eab1638 100644
--- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx
+++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx
@@ -230,10 +230,10 @@
zur Übersicht
-
- Fakultät
-
-
- Lehrstühle
-
+
+ Fakultät
+
+
+ Lehrstühle
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWP8/pages/news/RSSItem.cs b/CampusAppWP8/CampusAppWP8/pages/RSSItem.cs
similarity index 80%
rename from CampusAppWP8/CampusAppWP8/pages/news/RSSItem.cs
rename to CampusAppWP8/CampusAppWP8/pages/RSSItem.cs
index af72a0df..0a5b7124 100644
--- a/CampusAppWP8/CampusAppWP8/pages/news/RSSItem.cs
+++ b/CampusAppWP8/CampusAppWP8/pages/RSSItem.cs
@@ -1,91 +1,112 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace CampusAppWP8.pages.news
-{
- class RSSItem
- {
- private string title;
- private string text;
- private DateTime timestamp;
-
- public string Title
- {
- get { return this.title; }
- set { this.title = value; }
- }
-
- public string Text
- {
- get { return this.text; }
- set { this.text = HTMLUnicodeToString(value); }
- }
-
- public string Timestamp
- {
- get { return this.timestamp.ToString("R"); }
- set { this.timestamp = DateTime.Parse(value); }
- }
-
- public string Date
- {
- get { return String.Format("{0:ddd, dd.MM.yyyy}", this.timestamp); }
- }
-
- public string Time
- {
- get { return String.Format("{0:h:mm} Uhr", this.timestamp); }
- }
-
- private string HTMLUnicodeToString(string htmluni)
- {
- StringBuilder retValue = new StringBuilder();
-
- for(int i = 0; i < htmluni.Length; i++)
- {
- switch (htmluni[i])
- {
- case '&':
- {
- int startOff = i + 2;
- int endOff = htmluni.IndexOf(';', startOff);
- string sub = htmluni.Substring(startOff, endOff - startOff);
- int cVal = int.Parse(sub);
-
- switch (cVal)
- {
- case 128:
- retValue.Append('€');
- break;
-
- default:
- retValue.Append((char)cVal);
- break;
- }
-
- i = endOff;
- }
- break;
- case '<':
- {
- i = htmluni.IndexOf('>', i);
- }
- break;
- case '\t':
- break;
-
- default:
- {
- retValue.Append(htmluni[i]);
- }
- break;
- }
- }
-
- return retValue.ToString();
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CampusAppWP8.pages.news
+{
+ class RSSItem
+ {
+ private string title;
+ private string text;
+ private DateTime timestamp;
+ private string link;
+
+ public string Title
+ {
+ get { return this.title; }
+ set { this.title = value; }
+ }
+
+ public string Text
+ {
+ get { return this.text; }
+ set { this.text = HTMLUnicodeToString(value); }
+ }
+
+ public string Timestamp
+ {
+ get { return this.timestamp.ToString("R"); }
+ set { this.timestamp = DateTime.Parse(value); }
+ }
+
+ public DateTime DTTimestamp
+ {
+ get { return this.timestamp; }
+ set { this.timestamp = value; }
+ }
+
+ public string Date
+ {
+ get { return String.Format("{0:ddd, dd.MM.yyyy}", this.timestamp); }
+ }
+
+ public string Time
+ {
+ get { return String.Format("{0:h:mm} Uhr", this.timestamp); }
+ }
+
+ public string Link
+ {
+ get { return this.link; }
+ set { this.link = value; }
+ }
+
+ private string HTMLUnicodeToString(string htmluni)
+ {
+ StringBuilder retValue = new StringBuilder();
+
+ for(int i = 0; i < htmluni.Length; i++)
+ {
+ switch (htmluni[i])
+ {
+ case '&':
+ {
+ int startOff = i + 2;
+ int endOff = htmluni.IndexOf(';', startOff);
+ string sub = htmluni.Substring(startOff, endOff - startOff);
+ int cVal = int.Parse(sub);
+
+ switch (cVal)
+ {
+ case 128:
+ retValue.Append('€');
+ break;
+
+ default:
+ retValue.Append((char)cVal);
+ break;
+ }
+
+ i = endOff;
+ }
+ break;
+ case '<':
+ {
+ i = htmluni.IndexOf('>', i);
+ }
+ break;
+ case '\t':
+ break;
+
+ default:
+ {
+ retValue.Append(htmluni[i]);
+ }
+ break;
+ }
+ }
+
+ return retValue.ToString();
+ }
+
+ public static int CompareTimeStamp(RSSItem item1, RSSItem item2)
+ {
+ if (item1.DTTimestamp > item2.DTTimestamp)
+ return -1;
+ else
+ return 0;
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWP8/pages/events/EventPage.xaml b/CampusAppWP8/CampusAppWP8/pages/events/EventPage.xaml
new file mode 100644
index 00000000..f9fff42c
--- /dev/null
+++ b/CampusAppWP8/CampusAppWP8/pages/events/EventPage.xaml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 37094ce9..b653acbb 100644
--- a/CampusAppWP8/CampusAppWP8/pages/news/NewsPage.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/pages/news/NewsPage.xaml.cs
@@ -1,106 +1,137 @@
-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;
-
-namespace CampusAppWP8.pages.news
-{
- public partial class NewsPage : PhoneApplicationPage
- {
- List itemList;
-
- public NewsPage()
- {
- 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_aktuelles.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;
-
- this.itemList.Add(rss);
-
-
- Button btn = new Button();
- btn.Name = "NewsRowAppButton" + i;
- btn.Content = rss.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 += NewsRowAppButton_Click;
- btn.Tag = i;
-
- PivotItem newPivItem = new PivotItem();
- newPivItem.Name = "NewsPivot" + i;
- newPivItem.Header = rss.Date;
-
- RSSNewsTemplate pvContent = new RSSNewsTemplate();
- pvContent.NewsHeadline.Text = rss.Title;
- pvContent.NewsText.Text = rss.Text;
- pvContent.NewsHome.Click += NewsHome_Click;
-
- newPivItem.Content = pvContent;
- NewsPivot.Items.Add(newPivItem);
-
- ButtonPanel.Items.Add(btn);
-
- i++;
- }
- }
- }
-
- // Button Functions
- private void NewsRowAppButton_Click(object sender, RoutedEventArgs e)
- {
- Button btn = (Button)sender;
- NewsPivot.SelectedIndex = (int)btn.Tag + 1;
- }
-
- private void NewsHome_Click(object sender, RoutedEventArgs e)
- {
- NewsPivot.SelectedIndex = 0;
- }
- }
+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;
+
+
+namespace CampusAppWP8.pages.news
+{
+ public partial class NewsPage : PhoneApplicationPage
+ {
+ List itemList;
+
+ public NewsPage()
+ {
+ 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_aktuelles.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;
+
+ this.itemList.Add(rss);
+
+
+ Button btn = new Button();
+ btn.Name = "NewsRowAppButton" + i;
+ btn.Content = rss.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 += NewsRowAppButton_Click;
+ btn.Tag = i;
+
+ PivotItem newPivItem = new PivotItem();
+ newPivItem.Name = "NewsPivot" + i;
+ newPivItem.Header = rss.Date;
+
+ RSSNewsTemplate pvContent = new RSSNewsTemplate();
+ 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);
+
+ ButtonPanel.Items.Add(btn);
+
+ i++;
+ }
+ }
+ }
+
+ // Button Functions
+ private void NewsRowAppButton_Click(object sender, RoutedEventArgs e)
+ {
+ Button btn = (Button)sender;
+ NewsPivot.SelectedIndex = (int)btn.Tag + 1;
+ }
+
+ private void NewsHome_Click(object sender, RoutedEventArgs e)
+ {
+ 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 64756342..3b9566dc 100644
--- a/CampusAppWP8/CampusAppWP8/pages/news/RSSNewsTemplate.xaml
+++ b/CampusAppWP8/CampusAppWP8/pages/news/RSSNewsTemplate.xaml
@@ -1,3 +1,34 @@
+<<<<<<< HEAD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+=======
+>>>>>>> d70e3da558c01e1f589ef06e919074b36a45d32c