diff --git a/CampusAppWP8/CampusAppWP8ScheduledTaskAgent/ScheduledAgent.cs b/CampusAppWP8/CampusAppWP8ScheduledTaskAgent/ScheduledAgent.cs index 08d3aecd..02dc8e8e 100644 --- a/CampusAppWP8/CampusAppWP8ScheduledTaskAgent/ScheduledAgent.cs +++ b/CampusAppWP8/CampusAppWP8ScheduledTaskAgent/ScheduledAgent.cs @@ -147,7 +147,11 @@ namespace CampusAppWP8ScheduledTaskAgent } else { - this.UpdateEventTile(); + this.runningFeeds--; + if (this.runningFeeds == 0) + { + this.NotifyComplete(); + } } } @@ -165,7 +169,11 @@ namespace CampusAppWP8ScheduledTaskAgent } else { - this.UpdateNewsTile(); + this.runningFeeds--; + if (this.runningFeeds == 0) + { + this.NotifyComplete(); + } } } @@ -181,6 +189,14 @@ namespace CampusAppWP8ScheduledTaskAgent this.eventModel = XmlManager.DeserializationToModel(arg.Result, CampusAppWPortalLib8.Resources.Constants.XMLRootElementName); this.UpdateEventTile(); } + else + { + this.runningFeeds--; + if (this.runningFeeds == 0) + { + this.NotifyComplete(); + } + } } /// @@ -195,6 +211,14 @@ namespace CampusAppWP8ScheduledTaskAgent this.newsModel = XmlManager.DeserializationToModel(arg.Result, CampusAppWPortalLib8.Resources.Constants.XMLRootElementName); this.UpdateNewsTile(); } + else + { + this.runningFeeds--; + if (this.runningFeeds == 0) + { + this.NotifyComplete(); + } + } } /// @@ -208,19 +232,25 @@ namespace CampusAppWP8ScheduledTaskAgent { IconicTileData data = new IconicTileData(); Random random = new Random(); - int randomNumber = random.Next(0, this.newsModel.Channel[0].Item.Count); - RSSModel item = this.newsModel.Channel[0].Item[randomNumber]; - data.WideContent1 = item.Date; - data.WideContent2 = DefaultStringManager.ToShortString(item.Title, 40, "..."); - data.WideContent3 = DefaultStringManager.ToShortString(item.Text, 40, "..."); - //data.Count = this.newsModel.Channel[0].Item.Count; - tileToFind.Update(data); + RSSModel item = this.newsModel.Channel[0].Item.FirstOrDefault(); + if (item != null) + { + data.WideContent1 = item.Date; + data.WideContent2 = DefaultStringManager.ToShortString(item.Title, 40, "..."); + data.WideContent3 = DefaultStringManager.ToShortString(item.Text, 40, "..."); + + tileToFind.Update(data); + } this.runningFeeds--; } if (this.runningFeeds == 0) { this.NotifyComplete(); + if (this.runningFeeds == 0) + { + this.NotifyComplete(); + } } } @@ -235,13 +265,16 @@ namespace CampusAppWP8ScheduledTaskAgent { IconicTileData data = new IconicTileData(); Random random = new Random(); - int randomNumber = random.Next(0, this.eventModel.Channel[0].Item.Count); - RSSModel item = this.eventModel.Channel[0].Item[randomNumber]; - data.WideContent1 = item.Date; - data.WideContent2 = DefaultStringManager.ToShortString(item.Title, 40, "..."); - data.WideContent3 = DefaultStringManager.ToShortString(item.Text, 40, "..."); - //data.Count = this.eventModel.Channel[0].Item.Count; - tileToFind.Update(data); + RSSModel item = this.eventModel.Channel[0].Item.FirstOrDefault(); + + if (item != null) + { + data.WideContent1 = item.Date; + data.WideContent2 = DefaultStringManager.ToShortString(item.Title, 40, "..."); + data.WideContent3 = DefaultStringManager.ToShortString(item.Text, 40, "..."); + + tileToFind.Update(data); + } this.runningFeeds--; } @@ -313,6 +346,14 @@ namespace CampusAppWP8ScheduledTaskAgent this.mensaModel = XmlManager.DeserializationToModel(arg.Result, CampusAppWPortalLib8.Resources.Constants.XMLRootElementName); this.UpdateMensaTile(); } + else + { + this.runningFeeds--; + if (this.runningFeeds == 0) + { + this.NotifyComplete(); + } + } } /// diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/DefaultStringManager.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/DefaultStringManager.cs index 264fc2fa..7f33422d 100644 --- a/CampusAppWP8/CampusAppWPortalLib8/Utility/DefaultStringManager.cs +++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/DefaultStringManager.cs @@ -111,6 +111,11 @@ namespace CampusAppWPortalLib8.Utility public static string ToShortString(string longStr, int maxLenght, string suffix = "") { string shortStr = longStr; + if (shortStr == null) + { + return null; + } + if (shortStr.Length > maxLenght) { shortStr = shortStr.Substring(0, maxLenght) + suffix;