Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }