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; }
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>(); }