refactor backgroundagent

This commit is contained in:
stubbfel
2013-09-30 11:41:41 +02:00
parent 329e5525e3
commit c89fb9ab79
7 changed files with 77 additions and 126 deletions

View File

@@ -74,52 +74,21 @@ namespace CampusAppWP8.Utility
}
/// <summary>
/// Method start MensaBackgroundTask
/// Method start BTUCampusAppBackgroundTask
/// </summary>
public static void StartMensaTask()
public static void StartBTUCampusAppTask()
{
int campusId = (int)Settings.UserProfil.DefaultCampus;
BackgroundTasks.StartPerodicTask(Constants.BackgroundTask_Mensa, AppResources.BackGroundTaskDesc_Mensa + " - Feed " + campusId);
BackgroundTasks.StartPerodicTask(Constants.BackgroundTask_BTUCampusApp, AppResources.BackGroundTaskDesc_BTUCampusApp + " - Feed " + campusId);
}
/// <summary>
/// Method stop MensaBackgroundTask
/// Method stop BTUCampusAppBackgroundTask
/// </summary>
public static void StopMensaTask()
public static void StopBTUCampusAppTask()
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_Mensa);
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_BTUCampusApp);
}
/// <summary>
/// Method start EventBackgroundTask
/// </summary>
public static void StartEventTask()
{
BackgroundTasks.StartPerodicTask(Constants.BackgroundTask_Event, AppResources.BackGroundTaskDesc_Event);
}
/// <summary>
/// Method stop EventBackgroundTask
/// </summary>
public static void StopEventTask()
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_Event);
}
/// <summary>
/// Method start NewsBackgroundTask
/// </summary>
public static void StartNewsTask()
{
BackgroundTasks.StartPerodicTask(Constants.BackgroundTask_News, AppResources.BackGroundTaskDesc_News);
}
/// <summary>
/// Method stop NewsBackgroundTask
/// </summary>
public static void StopNewsTask()
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_News);
}
}
}

View File

@@ -58,7 +58,7 @@ namespace CampusAppWP8.Utility.Lui.Tiles
TileCreator.CreateIconicTile(AppResources.MensaApp_Title, Constants.PathMensa_MensaPage, Icons.Mensa, Icons.Mensa);
// create a new task
BackgroundTasks.StartMensaTask();
BackgroundTasks.StartBTUCampusAppTask();
}
/// <summary>
@@ -77,7 +77,7 @@ namespace CampusAppWP8.Utility.Lui.Tiles
TileCreator.CreateIconicTile(AppResources.NewsApp_Title, Constants.PathNews_NewsIndexPage, Icons.News, Icons.News);
// create a new Task
BackgroundTasks.StartNewsTask();
BackgroundTasks.StartBTUCampusAppTask();
}
/// <summary>
@@ -96,7 +96,7 @@ namespace CampusAppWP8.Utility.Lui.Tiles
TileCreator.CreateIconicTile(AppResources.EventApp_Title, Constants.PathEvents_EventsIndexPage, Icons.News, Icons.News);
// create a new taskk
BackgroundTasks.StartEventTask();
BackgroundTasks.StartBTUCampusAppTask();
}
/// <summary>

View File

@@ -61,29 +61,11 @@ namespace CampusAppWP8ScheduledTaskAgent.Resources {
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Hintergrunddienst für die BTU-Event-Feed ähnelt.
/// Sucht eine lokalisierte Zeichenfolge, die Hintergrunddienst für die BTU-CampusApp ähnelt.
/// </summary>
public static string BackGroundTaskDesc_Event {
public static string BackGroundTaskDesc_BTUCampusApp {
get {
return ResourceManager.GetString("BackGroundTaskDesc_Event", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Hintergrunddienst für die BTU-Mensa ähnelt.
/// </summary>
public static string BackGroundTaskDesc_Mensa {
get {
return ResourceManager.GetString("BackGroundTaskDesc_Mensa", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Hintergrunddienst für die BTU-News-Feed ähnelt.
/// </summary>
public static string BackGroundTaskDesc_News {
get {
return ResourceManager.GetString("BackGroundTaskDesc_News", resourceCulture);
return ResourceManager.GetString("BackGroundTaskDesc_BTUCampusApp", resourceCulture);
}
}

View File

@@ -117,14 +117,8 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BackGroundTaskDesc_Mensa" xml:space="preserve">
<value>Hintergrunddienst für die BTU-Mensa</value>
</data>
<data name="BackGroundTaskDesc_Event" xml:space="preserve">
<value>Hintergrunddienst für die BTU-Event-Feed</value>
</data>
<data name="BackGroundTaskDesc_News" xml:space="preserve">
<value>Hintergrunddienst für die BTU-News-Feed</value>
<data name="BackGroundTaskDesc_BTUCampusApp" xml:space="preserve">
<value>Hintergrunddienst für die BTU-CampusApp</value>
</data>
<data name="MensaApp_CloseMensa" xml:space="preserve">
<value>Die Mensa ist heute geschlossen</value>

View File

@@ -117,13 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BackgroundTask_Mensa" xml:space="preserve">
<value>MensaTask</value>
</data>
<data name="BackgroundTask_Event" xml:space="preserve">
<value>EventTask</value>
</data>
<data name="BackgroundTask_News" xml:space="preserve">
<value>NewsTask</value>
<data name="BackgroundTask_BTUCampusApp" xml:space="preserve">
<value>BTUCampusAppTask</value>
</data>
</root>

View File

@@ -61,29 +61,11 @@ namespace CampusAppWP8ScheduledTaskAgent.Resources {
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die EventTask ähnelt.
/// Sucht eine lokalisierte Zeichenfolge, die BTUCampusAppTask ähnelt.
/// </summary>
public static string BackgroundTask_Event {
public static string BackgroundTask_BTUCampusApp {
get {
return ResourceManager.GetString("BackgroundTask_Event", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die MensaTask ähnelt.
/// </summary>
public static string BackgroundTask_Mensa {
get {
return ResourceManager.GetString("BackgroundTask_Mensa", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die NewsTask ähnelt.
/// </summary>
public static string BackgroundTask_News {
get {
return ResourceManager.GetString("BackgroundTask_News", resourceCulture);
return ResourceManager.GetString("BackgroundTask_BTUCampusApp", resourceCulture);
}
}
}

View File

@@ -43,6 +43,11 @@ namespace CampusAppWP8ScheduledTaskAgent
/// </summary>
private RSSViewModel newsModel;
/// <summary>
/// Variable for the runnig feeds
/// </summary>
private int runningFeeds;
#endregion
#region Constructor
@@ -70,19 +75,44 @@ namespace CampusAppWP8ScheduledTaskAgent
/// <param name="task">the background Task</param>
protected override void OnInvoke(ScheduledTask task)
{
switch (task.Name)
int notRunningFeeds = 0;
this.runningFeeds = 0;
ShellTile tileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(CampusAppWPortalLib8.Resources.Constants.PathNews_NewsIndexPage));
if (tileToFind != null && tileToFind.NavigationUri.ToString().Contains(CampusAppWPortalLib8.Resources.Constants.PathNews_NewsIndexPage))
{
case "MensaTask":
this.HandleMensaTask(task);
break;
this.runningFeeds++;
this.HandleNewsTask(task);
}
else
{
notRunningFeeds++;
}
case "EventTask":
this.HandleEventTask(task);
break;
tileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(CampusAppWPortalLib8.Resources.Constants.PathMensa_MensaPage));
if (tileToFind != null && tileToFind.NavigationUri.ToString().Contains(CampusAppWPortalLib8.Resources.Constants.PathMensa_MensaPage))
{
this.runningFeeds++;
this.HandleMensaTask(task);
}
else
{
notRunningFeeds++;
}
case "NewsTask":
this.HandleNewsTask(task);
break;
tileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains(CampusAppWPortalLib8.Resources.Constants.PathEvents_EventsIndexPage));
if (tileToFind != null && tileToFind.NavigationUri.ToString().Contains(CampusAppWPortalLib8.Resources.Constants.PathEvents_EventsIndexPage))
{
this.runningFeeds++;
this.HandleEventTask(task);
}
else
{
notRunningFeeds++;
}
if (notRunningFeeds == 3)
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_BTUCampusApp);
}
}
@@ -183,15 +213,15 @@ namespace CampusAppWP8ScheduledTaskAgent
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;
//data.Count = this.newsModel.Channel[0].Item.Count;
tileToFind.Update(data);
}
else
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_News);
this.runningFeeds--;
}
this.NotifyComplete();
if (this.runningFeeds == 0)
{
this.NotifyComplete();
}
}
/// <summary>
@@ -210,15 +240,15 @@ namespace CampusAppWP8ScheduledTaskAgent
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;
//data.Count = this.eventModel.Channel[0].Item.Count;
tileToFind.Update(data);
}
else
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_Event);
this.runningFeeds--;
}
this.NotifyComplete();
if (this.runningFeeds == 0)
{
this.NotifyComplete();
}
}
/// <summary>
@@ -318,18 +348,18 @@ namespace CampusAppWP8ScheduledTaskAgent
int randomNumber = random.Next(0, mealCount);
MealModel meal = this.mensaModel.Menus[dayIndex].Meals[randomNumber];
data.WideContent3 = meal.MealName + ": " + DefaultStringManager.ToShortString(meal.MealDesc, 30, "...");
data.Count = this.mensaModel.Menus[dayIndex].Meals.Count;
// data.Count = this.mensaModel.Menus[dayIndex].Meals.Count;
}
}
tileToFind.Update(data);
}
else
{
BackgroundTasks.StopPerodicTask(Constants.BackgroundTask_Mensa);
this.runningFeeds--;
}
this.NotifyComplete();
if (this.runningFeeds == 0)
{
this.NotifyComplete();
}
}
/// <summary>