Пример #1
0
        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);
        }
Пример #2
0
        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();
        }
Пример #3
0
        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();
        }