/// <summary> /// Agent that runs a scheduled task /// </summary> /// <param name="task"> /// The invoked task /// </param> /// <remarks> /// This method is called when a periodic or resource intensive task is invoked /// </remarks> protected override void OnInvoke(ScheduledTask task) { var tile = (from t in ShellTile.ActiveTiles select t).FirstOrDefault(); var common = new Common(); var startHour = new DateTime(2014, 05, 13, 08, 50, 00).Hour; var startMinute = new DateTime(2014, 05, 13, 08, 50, 00).Minute; var currentHour = DateTime.Now.Hour; var currentMinute = DateTime.Now.Minute; var callReport = (currentHour == startHour && currentMinute >= startMinute) || currentHour >= startHour; if (callReport) { var isUpdated = common.IsUpdated(); if (tile != null && isUpdated.Result) { var newTile = new IconicTileData { Count = 1 }; tile.Update(newTile); } } // Call NotifyComplete to let the system know the agent is done working. NotifyComplete(); }
public MainPage() { InitializeComponent(); _viewModel = new MainViewModel(); _common = new Common(); _viewModel.Stations = _viewModel.GetStationList(); _viewModel.HistoryList = _viewModel.GetHistory(); }
public async Task<ReportModel> GetReport(string preferredCity) { ReportModel reportModel = null; var common = new Common(); var settings = IsolatedStorageSettings.ApplicationSettings; if (!String.IsNullOrWhiteSpace(preferredCity) && settings != null) { if (settings.Contains(Globals.LatestReportString)) { var item = settings[Globals.LatestReportString] as ReportModel; if (item != null) { if (item.Date == DateTime.Now.ToShortDateString()) // A report has already been downloaded for today { if (item.City == preferredCity) { reportModel = item; } else // A new city has been chosen but no report has been downloaded { var result = await common.DownloadAndSave(preferredCity); if (result) { reportModel = settings[Globals.LatestReportString] as ReportModel; } } } else if (DateTime.Now.DayOfWeek != DayOfWeek.Saturday && DateTime.Now.DayOfWeek != DayOfWeek.Sunday) // It´s a weekday so download new report { var result = await common.DownloadAndSave(preferredCity); if (result) { reportModel = settings[Globals.LatestReportString] as ReportModel; } } else // It´s a weekend so use the latest report... { if (item.City == preferredCity) // ...if the report´s city is the preferred city... { reportModel = item; } else // ...otherwise download what´s available { var result = await common.DownloadAndSave(preferredCity); if (result) { reportModel = settings[Globals.LatestReportString] as ReportModel; } } } } } else // No report has been downloaded yet so do that { var result = await common.DownloadAndSave(preferredCity); if (result) { reportModel = settings[Globals.LatestReportString] as ReportModel; } } } return reportModel; }