private void DeletePhoto(int id) { IsLoading = true; if (GalleryItemModels.Any()) { var model = GalleryItemModels.FirstOrDefault(x => x.Id == id); if (model != null) { GalleryItemModels.Remove(model); } } IsLoading = false; }
private async Task TakeVideo() { bool permissionResult = await _permissionService.AskPermission(); if (permissionResult) { IsLoading = true; var model = await _mediaHelper.TakeVideoAsync().ConfigureAwait(false); if (model != null) { model.NoteId = _noteId; model.IsVideo = true; var videoName = model.VideoPath.Substring( model.VideoPath.LastIndexOf(@"/", StringComparison.InvariantCulture) + 1); var imageName = videoName.Substring(0, videoName.Length - 4) + "_thumb.jpg"; byte[] imageContent = _mediaService.GenerateThumbImage(model.VideoPath, ConstantsHelper.ThumbnailTimeFrame); byte[] resizedImage = _mediaService.ResizeImage(imageContent, ConstantsHelper.ResizedImageWidth, ConstantsHelper.ResizedImageHeight); string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal); string imagePath = Path.Combine(path, imageName); File.WriteAllBytes(imagePath, resizedImage); model.ImagePath = imagePath; model.Thumbnail = imagePath; await _transformHelper.ResizeAsync(imagePath, model).ConfigureAwait(false); Device.BeginInvokeOnMainThread(() => { GalleryItemModels.Add(model); }); } } Device.BeginInvokeOnMainThread(() => { IsLoading = false; }); }
public override Task InitializeAsync(object navigationData) { _noteId = (int)navigationData; if (_noteId == 0) { Title = Resmgr.Value.GetString(ConstantsHelper.CreateNote, CultureInfo.CurrentCulture); } else { IsEditMode = true; _note = App.NoteRepository.Value.GetNoteAsync(_noteId); Title = _note.EditDate.ToString("d"); Description = _note.Description; GalleryItemModels.ReplaceRangeWithoutUpdating(_note.GalleryItems); GalleryItemModels.RaiseCollectionChanged(); OnPropertyChanged(nameof(IsGalleryVisible)); } return(base.InitializeAsync(navigationData)); }
private async void MultiMediaPickerServiceOnMediaPickedCompleted(object sender, IList <MediaFile> e) { _multiMediaPickerService.OnMediaPickedCompleted -= MultiMediaPickerServiceOnMediaPickedCompleted; IsLoading = true; foreach (var item in e) { var model = await GetGalleryItemModelFromMediaFile(item) .ConfigureAwait(false); Device.BeginInvokeOnMainThread(() => { lock (Obj) { GalleryItemModels.Add(model); } }); } IsLoading = false; }
private async Task TakePhoto() { bool permissionResult = await _permissionService.AskPermission(); if (permissionResult) { IsLoading = true; try { var model = await _mediaHelper.TakePhotoAsync(); if (model != null) { GalleryItemModels.Add(model); } } catch (Exception ex) { await UserDialogs.Instance.AlertAsync(ex.Message); } } IsLoading = false; }
private async Task SaveNote(string text) { ShouldPromptUser = false; Description = text; IsLoading = true; if (_noteId == 0) { await NavigationService.NavigateBackAsync(); Task.Run(() => { var note = new Note { CreationDate = DateTime.Now, EditDate = DateTime.Now, Description = Description, GalleryItems = GalleryItemModels.ToList(), UserId = Settings.CurrentUserId }; App.NoteRepository.Value.Save(note); MessagingCenter.Send(this, ConstantsHelper.NoteCreated); }); } else { var note = App.NoteRepository.Value.GetNoteAsync(_noteId); note.Description = Description; note.EditDate = DateTime.Now; note.GalleryItems = GalleryItemModels.ToList(); App.NoteRepository.Value.Save(note); MessagingCenter.Send(this, ConstantsHelper.NoteEdited, _noteId); } IsLoading = false; IsToolbarItemVisible = false; }