refactor backgroundagent
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user