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