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;
        }
        public async Task OnLoaded()
        {
            IsBusy = true;
            var navParam = (SnapshotDetailsViewNavParams)NavigationParam;
            var data     = await _pictureService.GetSnapshotContentAsync(navParam.LocationSnapshot);

            SnapshotContent = await _bitmapConverter.GetBitmapAsync(data);

            SnapshotDetails        = navParam.LocationSnapshot;
            _geolocationReadyToken = _eventAggregator.GetEvent <GeolocationReadyEvent>().Subscribe(OnGeolocationReady);
            RaisePropertyChanged(nameof(IsGeolocationDataAvailable));
            IsBusy = false;
        }
Exemple #3
0
 private void SetUp()
 {
     _navigationService = Substitute.For <INavigationService>();
     _bitmapConverter   = Substitute.For <IBitmapConverter>();
     _pictureService    = Substitute.For <IPictureService>();
     _pictureService.GetSnapshotContentAsync(Arg.Any <LocationSnapshot>())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <byte[]>();
         tcs.SetResult(new byte[0]);
         return(tcs.Task);
     });
     _bitmapConverter.GetBitmapAsync(Arg.Any <byte[]>())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <object>();
         tcs.SetResult(new object());
         return(tcs.Task);
     });
     _eventAggregator = new EventAggregator();
 }
 private void SetUp()
 {
     _snapshots = new List <LocationSnapshot>
     {
         new LocationSnapshot {
             Id = 1, PictureFileName = "Barcelona_1.jpg"
         },
         new LocationSnapshot {
             Id = 2, PictureFileName = "Barcelona_2.jpg"
         },
         new LocationSnapshot {
             Id = 3, PictureFileName = "Barcelona_3.jpg"
         }
     };
     _miniatures = new List <SnapshotMiniature>
     {
         new SnapshotMiniature {
             Snapshot = _snapshots[0]
         },
         new SnapshotMiniature {
             Snapshot = _snapshots[1]
         },
         new SnapshotMiniature {
             Snapshot = _snapshots[2]
         }
     };
     _thumbnail           = new object();
     _snapshotDataService = Substitute.For <ILocationSnapshotDataService>();
     _snapshotDataService.GetSnapshotsByLocationIdAsync(Arg.Any <int>())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <IEnumerable <LocationSnapshot> >();
         tcs.SetResult(_snapshots);
         return(tcs.Task);
     });
     _snapshotDataService.GetSnapshotsByIdsAsync(Arg.Any <IEnumerable <int> >())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <IEnumerable <LocationSnapshot> >();
         tcs.SetResult(_snapshots);
         return(tcs.Task);
     });
     _pictureService = Substitute.For <IPictureService>();
     _pictureService.GetSnapshotMiniaturesAsync(Arg.Any <IEnumerable <LocationSnapshot> >())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <IEnumerable <SnapshotMiniature> >();
         tcs.SetResult(_miniatures);
         return(tcs.Task);
     });
     _bitmapConverter = Substitute.For <IBitmapConverter>();
     _bitmapConverter.GetBitmapAsync(Arg.Any <byte[]>())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <object>();
         tcs.SetResult(_thumbnail);
         return(tcs.Task);
     });
     _dialogService = Substitute.For <IDialogService>();
     _dialogService.ShowConfirmationAsync(Arg.Any <string>())
     .Returns(_ =>
     {
         var tcs = new TaskCompletionSource <ConfirmationAnswer>();
         tcs.SetResult(ConfirmationAnswer.OK);
         return(tcs.Task);
     });
     _navigationService       = Substitute.For <INavigationService>();
     _platformSpecificActions = Substitute.For <IPlatformSpecificActions>();
 }