private void _deleteOldData() { HanuDowsApplication app = HanuDowsApplication.getInstance(); var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; var keep_old_jokes = localSettings.Values["Keep_Old_Jokes"]; var keep_old_memes = localSettings.Values["Keep_Old_Memes"]; DateTime now = DateTime.Now; DateTime pub_date; TimeSpan interval; app.GetAllPosts(); List <Post> post_list = PostManager.getInstance().PostList; foreach (Post post in post_list) { if (post.HasCategory("Meme")) { if (keep_old_memes == null || keep_old_memes.Equals("")) { // Delete Old Memes pub_date = DateTime.Parse(post.PubDate); interval = now.Subtract(pub_date); if (interval.Days > 2) { app.DeletePostFromDB(post.PostID); } } } else { if (keep_old_jokes == null || keep_old_jokes.Equals("")) { // Delete Old Jokes pub_date = DateTime.Parse(post.PubDate); interval = now.Subtract(pub_date); if (interval.Days > 100) { app.DeletePostFromDB(post.PostID); } } } } }
public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args) { // long-running startup tasks go here // Initialize applicatio before use await HanuDowsApplication.getInstance().InitializeApplication(); // Register backgroud task for Push Notifications await registerBackgroundTaskForPushNotification(); var launchKind = DetermineStartCause(args); switch (launchKind) { case AdditionalKinds.SecondaryTile: var tileargs = args as LaunchActivatedEventArgs; NavigationService.Navigate(typeof(Views.MainPage), tileargs.Arguments); break; case AdditionalKinds.Toast: var toastargs = args as ToastNotificationActivatedEventArgs; if (toastargs.Argument.Equals("ShowInfoMessage")) { NavigationService.Navigate(typeof(Views.InfoDisplayPage)); } else { NavigationService.Navigate(typeof(Views.MainPage)); } break; case AdditionalKinds.JumpListItem: NavigationService.Navigate(typeof(Views.InfoDisplayPage)); break; case AdditionalKinds.Primary: case AdditionalKinds.Other: NavigationService.Navigate(typeof(Views.MainPage)); break; } await Task.CompletedTask; }
public async void UploadPost() { MessageDialog messageDialog; // Sanity Check if (string.IsNullOrWhiteSpace(_postTitle)) { messageDialog = new MessageDialog("Please enter the Joke Title"); await messageDialog.ShowAsync(); return; } if (string.IsNullOrWhiteSpace(_postContent)) { messageDialog = new MessageDialog("The content is empty. Please make sure you have typed something."); await messageDialog.ShowAsync(); return; } Views.Busy.SetBusy(true, "Uploading your joke..."); HanuDowsApplication app = HanuDowsApplication.getInstance(); bool success = await app.UploadNewPost(_postTitle, _postContent); Views.Busy.SetBusy(false); if (success) { messageDialog = new MessageDialog("Your joke was uploaded successfully. Thanks for sharing."); await messageDialog.ShowAsync(); NavigationService.GoBack(); } else { messageDialog = new MessageDialog("Could not upload your joke. Please try again."); await messageDialog.ShowAsync(); } }
public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState) { GoogleAnalytics.EasyTracker.GetTracker().SendView("MainPage"); if (suspensionState.Any()) { //Value = suspensionState[nameof(Value)]?.ToString(); } // Read Posts from DB HanuDowsApplication.getInstance().ReadPostsFromDB(false); op = ObservablePost.Instance(); op.Reset(); __setPostData(); DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView(); dataTransferManager.DataRequested += ShareData; await Task.CompletedTask; }
public async void Run(IBackgroundTaskInstance taskInstance) { RawNotification notification = (RawNotification)taskInstance.TriggerDetails; _deferral = taskInstance.GetDeferral(); XDocument xdoc = XDocument.Parse(notification.Content); string task = xdoc.Root.Element("Task").Value; HanuDowsApplication app = HanuDowsApplication.getInstance(); var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; if (task.Equals("PerformSync")) { int count = 0; XElement xe = xdoc.Root.Element("LatestDataTimeStamp"); if (xe == null) { // Old Code --- Perform Synchronization count = await app.PerformSync(); } else { string latest_data_timestamp_string = xe.Value; DateTime latest_data_timestamp = DateTime.Parse(latest_data_timestamp_string); DateTime lastSyncTime = DateTime.Parse(localSettings.Values["LastSyncTime"].ToString()); int diff = latest_data_timestamp.CompareTo(lastSyncTime); if (diff >= 0) { // Perform Sync count = await app.PerformSync(); } } if (count > 0) { string title = "New Jokes downloaded"; string message = count + " new jokes have been downloaded."; showToastNotification(title, message); } } if (task.Equals("ShowInfoMessage")) { string mid = xdoc.Root.Element("MessageID").Value; string title = xdoc.Root.Element("Title").Value; string content = xdoc.Root.Element("Content").Value; var last_mid = localSettings.Values["ToastMessageID"]; if (last_mid != null && last_mid.Equals(mid)) { return; } localSettings.Values["ToastMessageID"] = mid; showInfoMessage(title, content); } if (task.Equals("DeletePostID")) { int id = (int)xdoc.Root.Element("PostID"); app.DeletePostFromDB(id); } if (task.Equals("SyncAllAgain")) { // Set last sync time to Hanu Epoch localSettings.Values["LastSyncTime"] = (new DateTime(2011, 11, 4)).ToString(); await app.PerformSync(); } _deferral.Complete(); }
public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args) { HanuDowsApplication _app = HanuDowsApplication.getInstance(); // Set Default Settings var localSettings = ApplicationData.Current.LocalSettings; if (localSettings.Values["FirstUse"] == null) { _app.AddSyncCategory("Veg Joke"); _app.AddSyncCategory("Meme"); } var _settings = SettingsService.Instance; if (!_settings.isMemeSet) { _app.AddSyncCategory("Meme"); } // long-running startup tasks go here // Initialize application before use await _app.InitializeApplication(); // Register backgroud task for Push Notifications await registerBackgroundTaskForPushNotification(); var launchKind = DetermineStartCause(args); switch (launchKind) { case AdditionalKinds.SecondaryTile: var tileargs = args as LaunchActivatedEventArgs; NavigationService.Navigate(typeof(Views.MainPage), tileargs.Arguments); break; case AdditionalKinds.Toast: var toastargs = args as ToastNotificationActivatedEventArgs; if (toastargs.Argument.Equals("ShowInfoMessage")) { NavigationService.Navigate(typeof(Views.InfoDisplayPage)); } else { NavigationService.Navigate(typeof(Views.MainPage)); } break; case AdditionalKinds.JumpListItem: NavigationService.Navigate(typeof(Views.InfoDisplayPage)); break; case AdditionalKinds.Primary: case AdditionalKinds.Other: NavigationService.Navigate(typeof(Views.MainPage)); break; } await Task.CompletedTask; }
public override async Task OnInitializeAsync(IActivatedEventArgs args) { HanuDowsApplication.getInstance(); await Task.CompletedTask; }