示例#1
0
        /// <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();
        }
示例#2
0
		public MainPage()
		{
			InitializeComponent();

			_viewModel = new MainViewModel();
			_common = new Common();
			_viewModel.Stations = _viewModel.GetStationList();
			_viewModel.HistoryList = _viewModel.GetHistory();

		}
示例#3
0
		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;
		}