private async Task Save() { while (App.Storage.Exist(NewEvent.Guid)) { NewEvent.Guid = Guid.NewGuid(); } if (_icon_file != null) { NewEvent.IconPath = await StoreFile("Icons", _icon_file); } else { NewEvent.IconPath = new Uri("ms-appx:///Assets/item.png"); } if (rbtnVideo.IsChecked.Value) { NewEvent.MediaMessageType = MediaMessageType.Video; NewEvent.MediaMessageUri = await StoreFile("Videos", _video_file); } else if (rbtnAudio.IsChecked.Value) { NewEvent.MediaMessageType = MediaMessageType.Voice; NewEvent.MediaMessageUri = await StoreFile("Audios", _audio_file); } if (ink.InkPresenter.StrokeContainer.GetStrokes().Count > 0) { NewEvent.HasStroke = true; StorageFile file = await(await ApplicationData.Current.LocalFolder. CreateFolderAsync("Inks", CreationCollisionOption.OpenIfExists)).CreateFileAsync(NewEvent.Guid.ToString() + ".gif"); using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { using (IOutputStream outStream = stream.GetOutputStreamAt(0)) { await ink.InkPresenter.StrokeContainer.SaveAsync(outStream); await outStream.FlushAsync(); } } } if (tglNotify.IsOn) { if (alarmOffset == null) { alarmOffset = NewEvent.Date.Date + timePicker.Time; } var xml = App.FormNotification(NewEvent.Name, string.IsNullOrWhiteSpace(NewEvent.Message) ? "" : NewEvent.Message, NewEvent.IconPath.AbsoluteUri, NewEvent.Guid.ToString()); ScheduledToastNotification notification = new ScheduledToastNotification(xml, alarmOffset.Value); ToastNotificationManager.CreateToastNotifier().AddToSchedule(notification); NewEvent.Alarm = alarmOffset.Value; } await NewEvent.SaveToFileAsync(); App.Storage.AddEvent(NewEvent); if (NewEvent.IsPast) { App.State.MenuSelected = MenuSelection.Past; } else { App.State.MenuSelected = MenuSelection.Scheduled; } App.State.Year = NewEvent.Date.Year; App.State.Month = NewEvent.Date.Month; App.State.ActivePage = PageActive.Events; App.MenuRefresh(); App.Cont.Content = App.GetActivePage(NewEvent); }