public async void Run(IBackgroundTaskInstance taskInstance) { BackgroundTaskDeferral _deferral = taskInstance.GetDeferral(); try { IStorageService storage = new StorageService(); if (storage.LoadLastUser()) { DpLogic dpLogic = new DpLogic(); ToastLogic toastLogic = new ToastLogic(); var notifications = await dpLogic.GetNotifications(); //toastLogic.ShowToast(notifications.First(), false); notifications = storage.SaveNotifications(notifications); notifications.ForEach(x => toastLogic.ShowToast(x, false)); } } catch (Exception) { } finally { _deferral.Complete(); } }
public NotificationListViewModel( IDataService dataService, INavigationService navigationService, IDialogService dialogService, ToastLogic toastLogic) { _dataService = dataService; _navigationService = navigationService; _dialogService = dialogService; _toastLogic = toastLogic; LoadingScreen = Visibility.Visible; NoNotifications = Visibility.Collapsed; ShowNotifications = Visibility.Collapsed; ThreadPoolTimer PeriodicTimer = ThreadPoolTimer.CreatePeriodicTimer((source) => { LoadNotification(); }, TimeSpan.FromSeconds(30)); Application.Current.Resuming += Current_Resuming; }