public async void DownloadBook(bool fullBook) { _busyOverlay.Closable = true; _busyOverlay.Closing += GoBack; await _busyOverlay.Start(false); IsBusy = true; if (!_downloadController.DownloadBook(CatalogBookItemModel, CatalogId, fullBook)) { _busyOverlay.Stop(); _busyOverlay.Closing -= GoBack; } }
private async Task CheckForDownloadItem(string url) { var link = await GetDownloadLink(url); if (link != null) { if (!string.IsNullOrEmpty(CatalogBookItemKey) && TransientStorage.Contains(CatalogBookItemKey)) { var catalogBookItem = TransientStorage.Get <CatalogBookItemModel>(CatalogBookItemKey); catalogBookItem.Links = new List <BookDownloadLinkModel> { link }; _navigationService .UriFor <BookInfoPageViewModel>() .WithParam(vm => vm.Title, catalogBookItem.Title.ToUpper()) .WithParam(vm => vm.Description, catalogBookItem.Description) .WithParam(vm => vm.ImageUrl, catalogBookItem.ImageUrl) .WithParam(vm => vm.CatalogId, CatalogId) .WithParam(vm => vm.StartDownload, true) .WithParam(vm => vm.CatalogBookItemKey, TransientStorage.Put(catalogBookItem)) .Navigate(); _navigated = true; } else { var catalogBookItemModel = new CatalogBookItemModel { Links = new List <BookDownloadLinkModel> { link }, Title = Title, Id = Guid.NewGuid().ToString() }; _downloadController.DownloadBook(catalogBookItemModel, CatalogId); _catalogItemId = catalogBookItemModel.Id; } } }