public async Task RemoveSelectedSnapshots() { if (SelectedThumbnails.Count == 0) { await _dialogService.ShowAsync("Please select at least one snapshot."); return; } var response = await _dialogService.ShowConfirmationAsync("Do you really want to remove the selected snapshots?"); if (response == ConfirmationAnswer.Cancel) { return; } IsBusy = true; var selectedThumbnails = SelectedThumbnails.ToList(); foreach (var selThumb in selectedThumbnails) { var removedSnapshot = await _locationSnapshotDataService.RemoveSnapshotAsync(selThumb.Snapshot.Id); await _pictureService.RemoveSnapshotContentAsync(removedSnapshot); SnapshotThumbnails.Remove(SnapshotThumbnails.First(_ => _.Snapshot.Id == removedSnapshot.Id)); } ; SetDefaultView(); IsBusy = false; }
public async Task OnLoaded() { IsBusy = true; var navParam = (SnapshotsViewNavParams)NavigationParam; _groupByCriteria = navParam.GroupByCriteria; var payload = navParam.SnapshotsIdsource; Parent = payload; IEnumerable <LocationSnapshot> snapshots = null; RaisePropertyChanged(nameof(CanAddSnapshot)); if (payload is Location location) { snapshots = await _locationSnapshotDataService.GetSnapshotsByLocationIdAsync(location.Id); } else if (payload is SnapshotGroup group) { snapshots = await _locationSnapshotDataService.GetSnapshotsByIdsAsync(group.SnapshotIds); } var miniatures = await _pictureService.GetSnapshotMiniaturesAsync(snapshots); foreach (var miniature in miniatures) { var thumbnail = await _bitmapConverter.GetBitmapAsync(miniature.Data); SnapshotThumbnails.Add(new SnapshotThumbnail { Snapshot = miniature.Snapshot, Thumbnail = thumbnail }); } IsBusy = false; }