IObservable<Unit> SaveFullResolutionImageToMemory (MemoryRequest request) { return Observable.Create<Unit> (o => { var description = request.DescriptionAs<AssetDescription> (); var disp = new CancellationDisposable (); var token = disp.Token; GetAsset (description, token).ContinueWith (t => { using (var asset = t.Result) using (var representation = asset.DefaultRepresentation) request.Image = new UIImage (representation.GetImage ()); o.OnCompleted (); }, token).RouteExceptions (o); return disp; }); }
IObservable<Unit> SaveThumbnailToMemory (MemoryRequest request) { return Observable.Create<Unit> (o => { var description = request.DescriptionAs<AssetDescription> (); var disp = new CancellationDisposable (); var token = disp.Token; GetAsset (description, token).ContinueWith (t => { using (var asset = t.Result) request.Image = new UIImage (asset.Thumbnail); o.OnCompleted (); }, token).RouteExceptions (o); return disp; }); }