private async Task SaveTasks(int Attempts = 0) { try { var TasksToSerialize = new ObservableCollection <Tasks>(_Tasks.Where(x => x.ID > 0)); XmlSerializer Serializ = new XmlSerializer(typeof(ObservableCollection <Tasks>)); using (Stream Steam = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(TaskFile, CreationCollisionOption.ReplaceExisting)) { Serializ.Serialize(Steam, TasksToSerialize); } } catch (Exception s) when((s.Message.Contains("denied")) && (Attempts < 10)) { await SaveTasks(Attempts + 1); } catch (Exception s) { MessageDialog msds = new MessageDialog(s.ToString(), "error"); await msds.ShowAsync(); } await TDTSharedCode.BackgroundTask(false); }
public async void Run(IBackgroundTaskInstance taskInstance) { var defferal = taskInstance.GetDeferral(); #region Nevim co to je, ale asi je to důležité // Taskinstance.Canceled += Taskinstance_Canceled; /* XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText04); * * XmlNodeList stringElements = toastXml.GetElementsByTagName("text"); * for (int i = 0; i < stringElements.Length; i++) * { * stringElements[i].AppendChild(toastXml.CreateTextNode("Line " + i)); * } * * // Specify the absolute path to an image * XmlNodeList imageElements = toastXml.GetElementsByTagName("image"); * * * var toast = new ToastNotification(toastXml); * ToastNotificationManager.CreateToastNotifier(CurrentApp.AppId.ToString()).Show(toast); * * await ShowToastAsync("Hello from background");*/ #endregion try { await TDTSharedCode.BackgroundTask(); } catch (Exception e) { } defferal.Complete(); }
private async Task SaveTasks(Stream Stream, ObservableCollection <Tasks> _Tasks, int Attempts = 0) { try { var TasksToSerialize = new ObservableCollection <Tasks>(_Tasks.Where(x => x.ID > 0)); XmlSerializer Serializ = new XmlSerializer(typeof(ObservableCollection <Tasks>)); using (Stream Steam = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync("Tasks.xml", CreationCollisionOption.ReplaceExisting)) { Serializ.Serialize(Steam, TasksToSerialize); } } catch (Exception s) when((s.Message.Contains("denied")) && (Attempts < 10)) { await SaveTasks(Stream, _Tasks, Attempts + 1); } catch (Exception s) { } await TDTSharedCode.BackgroundTask(); }