public BookInfoPageViewModel(
            IBookRepository bookService,
            DownloadController downloadController,
            IEventAggregator eventAggregator,
            IBookmarkRepository bookmarkRepository,
            INavigationService navigationService,
            SharingDataModel sharingDataModel,
            IBusyOverlayManager busyOverlay,
            ICatalogRepository catalogRepository,
            IAcquisitionServiceFactory acquisitionServiceFactory,
            INotificationsService notificationsService,
            CatalogController catalogController,
            IDownloadsContainer container,
            IBookDownloadsRepository bookDownloadsRepository)
        {
            SharingDataModel           = sharingDataModel;
            _bookService               = bookService;
            _downloadController        = downloadController;
            _bookmarkRepository        = bookmarkRepository;
            _navigationService         = navigationService;
            _busyOverlay               = busyOverlay;
            _catalogRepository         = catalogRepository;
            _acquisitionServiceFactory = acquisitionServiceFactory;
            _notificationsService      = notificationsService;
            _catalogController         = catalogController;
            _container = container;
            _bookDownloadsRepository = bookDownloadsRepository;

            eventAggregator.Subscribe(this);

            _busyOverlay.Content  = UIStrings.BookInfoPage_Loading;
            _busyOverlay.Closable = true;
        }
Esempio n. 2
0
 public BookDownloader(IBookRepository bookService, IFileLoadingFactory fileLoadingFactory, IDownloadsContainer container,
                       IBookDownloadsRepository bookDownloadsRepository)
 {
     _bookService             = bookService;
     _fileLoadingFactory      = fileLoadingFactory;
     _container               = container;
     _bookDownloadsRepository = bookDownloadsRepository;
 }
Esempio n. 3
0
 public BookDownloader(IBookRepository bookService, IFileLoadingFactory fileLoadingFactory, IDownloadsContainer container, 
     IBookDownloadsRepository bookDownloadsRepository)
 {
     _bookService = bookService;
     _fileLoadingFactory = fileLoadingFactory;
     _container = container;
     _bookDownloadsRepository = bookDownloadsRepository;
 }
Esempio n. 4
0
        private static void RemoveItem(DownloadItemDataModel item, IDownloadsContainer downloads)
        {
            var wait = new AutoResetEvent(false);

            Execute.OnUIThread((() =>
            {
                downloads.Remove(item);
                wait.Set();
            }));
            wait.WaitOne();
        }
Esempio n. 5
0
        public DownloadController(
            IBookDownloader bookDownloader,
            INavigationService navigationService,
            INotificationsService notificationsService,
            IEventAggregator eventAggregator,
            IDownloadsContainer container,
            IBookDownloadsRepository bookDownloadsRepository)
        {
            _bookDownloader          = bookDownloader;
            _navigationService       = navigationService;
            _notificationsService    = notificationsService;
            _eventAggregator         = eventAggregator;
            _container               = container;
            _bookDownloadsRepository = bookDownloadsRepository;

            _bookDownloader.DownloadCompleted += BookDownloaderOnDownloadCompleted;
            _bookDownloader.DownloadError     += BookDownloaderOnDownloadError;
        }
Esempio n. 6
0
        public DownloadController(
            IBookDownloader bookDownloader, 
            INavigationService navigationService,
            INotificationsService notificationsService,
            IEventAggregator eventAggregator, 
            IDownloadsContainer container, 
            IBookDownloadsRepository bookDownloadsRepository)
        {
            _bookDownloader = bookDownloader;
            _navigationService = navigationService;
            _notificationsService = notificationsService;
            _eventAggregator = eventAggregator;
            _container = container;
            _bookDownloadsRepository = bookDownloadsRepository;

            _bookDownloader.DownloadCompleted += BookDownloaderOnDownloadCompleted;
            _bookDownloader.DownloadError += BookDownloaderOnDownloadError;
        }
Esempio n. 7
0
 public DownloadListPageViewModel(IDownloadsContainer downloadsContainer, IBookDownloadsRepository bookDownloadsRepository)
 {
     DownloadsContainer       = downloadsContainer;
     _bookDownloadsRepository = bookDownloadsRepository;
 }
Esempio n. 8
0
        private void HandleBookDownloading(DownloadItemDataModel downloadItemDataModel, IDownloadsContainer instance)
        {
            if (ProcessBook(downloadItemDataModel))
            {
                RemoveItem(downloadItemDataModel, instance);
                _bookDownloadsRepository.Remove(downloadItemDataModel.DownloadID);

                OnDownloadCompleted(downloadItemDataModel);
            }
            else if (downloadItemDataModel.Status == DownloadStatus.Error)
            {
                OnDownloadError(downloadItemDataModel);
            }
        }
 public DownloadListPageViewModel(IDownloadsContainer downloadsContainer, IBookDownloadsRepository bookDownloadsRepository)
 {
     DownloadsContainer = downloadsContainer;
     _bookDownloadsRepository = bookDownloadsRepository;
 }
Esempio n. 10
0
 private static void RemoveItem(DownloadItemDataModel item, IDownloadsContainer downloads)
 {
     var wait = new AutoResetEvent(false);
     Execute.OnUIThread((() =>
                                 {
                                     downloads.Remove(item);
                                     wait.Set();
                                 }));
     wait.WaitOne();
 }
Esempio n. 11
0
        private void HandleBookDownloading(DownloadItemDataModel downloadItemDataModel, IDownloadsContainer instance)
        {
            if (ProcessBook(downloadItemDataModel))
            {
                RemoveItem(downloadItemDataModel, instance);
                _bookDownloadsRepository.Remove(downloadItemDataModel.DownloadID);

                OnDownloadCompleted(downloadItemDataModel);
            }
            else if (downloadItemDataModel.Status == DownloadStatus.Error)
            {
                OnDownloadError(downloadItemDataModel);
            }
        }