Пример #1
0
        public BookInfoProxy(IHttpClient httpClient,
                             ICachedHttpResponseService cachedHttpClient,
                             IGoodreadsSearchProxy goodreadsSearchProxy,
                             IAuthorService authorService,
                             IBookService bookService,
                             IEditionService editionService,
                             IMetadataRequestBuilder requestBuilder,
                             Logger logger,
                             ICacheManager cacheManager)
        {
            _httpClient           = httpClient;
            _cachedHttpClient     = cachedHttpClient;
            _goodreadsSearchProxy = goodreadsSearchProxy;
            _authorService        = authorService;
            _bookService          = bookService;
            _editionService       = editionService;
            _requestBuilder       = requestBuilder;
            _cache  = cacheManager.GetCache <HashSet <string> >(GetType());
            _logger = logger;

            _authorCache = new CachingService(new MemoryCacheProvider(new MemoryCache(new MemoryCacheOptions {
                SizeLimit = 10
            })));
            _authorCache.DefaultCachePolicy = new CacheDefaults
            {
                DefaultCacheDurationSeconds = 60
            };
        }
Пример #2
0
 public RefreshBookService(IBookService bookService,
                           IAuthorService authorService,
                           IAddAuthorService addAuthorService,
                           IEditionService editionService,
                           IAuthorMetadataService authorMetadataService,
                           IProvideAuthorInfo authorInfo,
                           IProvideBookInfo bookInfo,
                           IRefreshEditionService refreshEditionService,
                           IMediaFileService mediaFileService,
                           IHistoryService historyService,
                           IEventAggregator eventAggregator,
                           ICheckIfBookShouldBeRefreshed checkIfBookShouldBeRefreshed,
                           IMapCoversToLocal mediaCoverService,
                           Logger logger)
     : base(logger, authorMetadataService)
 {
     _bookService                  = bookService;
     _authorService                = authorService;
     _addAuthorService             = addAuthorService;
     _editionService               = editionService;
     _authorInfo                   = authorInfo;
     _bookInfo                     = bookInfo;
     _refreshEditionService        = refreshEditionService;
     _mediaFileService             = mediaFileService;
     _historyService               = historyService;
     _eventAggregator              = eventAggregator;
     _checkIfBookShouldBeRefreshed = checkIfBookShouldBeRefreshed;
     _mediaCoverService            = mediaCoverService;
     _logger = logger;
 }
Пример #3
0
        public GoodreadsProxy(ICachedHttpResponseService cachedHttpClient,
                              IAuthorService authorService,
                              IBookService bookService,
                              IEditionService editionService,
                              Logger logger,
                              ICacheManager cacheManager)
        {
            _cachedHttpClient = cachedHttpClient;
            _authorService    = authorService;
            _bookService      = bookService;
            _editionService   = editionService;
            _cache            = cacheManager.GetCache <HashSet <string> >(GetType());
            _logger           = logger;

            _requestBuilder = new HttpRequestBuilder("https://www.goodreads.com/{route}")
                              .AddQueryParam("key", new string("gSuM2Onzl6sjMU25HY1Xcd".Reverse().ToArray()))
                              .AddQueryParam("_nc", "1")
                              .SetHeader("User-Agent", "Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-I9100 Build/JZO54K)")
                              .KeepAlive()
                              .CreateFactory();

            _searchBuilder = new HttpRequestBuilder("https://www.goodreads.com/book/auto_complete")
                             .AddQueryParam("format", "json")
                             .SetHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36")
                             .KeepAlive()
                             .CreateFactory();
        }
Пример #4
0
 public ImportApprovedBooks(IUpgradeMediaFiles bookFileUpgrader,
                            IMediaFileService mediaFileService,
                            IAudioTagService audioTagService,
                            IAuthorService authorService,
                            IAddAuthorService addAuthorService,
                            IRefreshAuthorService refreshAuthorService,
                            IBookService bookService,
                            IEditionService editionService,
                            IRootFolderService rootFolderService,
                            IRecycleBinProvider recycleBinProvider,
                            IExtraService extraService,
                            IDiskProvider diskProvider,
                            IEventAggregator eventAggregator,
                            IManageCommandQueue commandQueueManager,
                            Logger logger)
 {
     _bookFileUpgrader     = bookFileUpgrader;
     _mediaFileService     = mediaFileService;
     _audioTagService      = audioTagService;
     _authorService        = authorService;
     _addAuthorService     = addAuthorService;
     _refreshAuthorService = refreshAuthorService;
     _bookService          = bookService;
     _editionService       = editionService;
     _rootFolderService    = rootFolderService;
     _recycleBinProvider   = recycleBinProvider;
     _extraService         = extraService;
     _diskProvider         = diskProvider;
     _eventAggregator      = eventAggregator;
     _commandQueueManager  = commandQueueManager;
     _logger = logger;
 }
 public EditionController(
     IEditionService editionService,
     IContractService contractService)
 {
     _editionService  = editionService;
     _contractService = contractService;
 }
Пример #6
0
 public ManualImportService(IDiskProvider diskProvider,
                            IParsingService parsingService,
                            IRootFolderService rootFolderService,
                            IDiskScanService diskScanService,
                            IMakeImportDecision importDecisionMaker,
                            IAuthorService authorService,
                            IBookService bookService,
                            IEditionService editionService,
                            IProvideBookInfo bookInfo,
                            IMetadataTagService metadataTagService,
                            IImportApprovedBooks importApprovedBooks,
                            ITrackedDownloadService trackedDownloadService,
                            IDownloadedBooksImportService downloadedTracksImportService,
                            IProvideImportItemService provideImportItemService,
                            IEventAggregator eventAggregator,
                            Logger logger)
 {
     _diskProvider                  = diskProvider;
     _parsingService                = parsingService;
     _rootFolderService             = rootFolderService;
     _diskScanService               = diskScanService;
     _importDecisionMaker           = importDecisionMaker;
     _authorService                 = authorService;
     _bookService                   = bookService;
     _editionService                = editionService;
     _bookInfo                      = bookInfo;
     _metadataTagService            = metadataTagService;
     _importApprovedBooks           = importApprovedBooks;
     _trackedDownloadService        = trackedDownloadService;
     _downloadedTracksImportService = downloadedTracksImportService;
     _provideImportItemService      = provideImportItemService;
     _eventAggregator               = eventAggregator;
     _logger = logger;
 }
Пример #7
0
 public ImportListSyncService(IImportListFactory importListFactory,
                              IImportListExclusionService importListExclusionService,
                              IFetchAndParseImportList listFetcherAndParser,
                              IGoodreadsProxy goodreadsProxy,
                              IGoodreadsSearchProxy goodreadsSearchProxy,
                              IAuthorService authorService,
                              IBookService bookService,
                              IEditionService editionService,
                              IAddAuthorService addAuthorService,
                              IAddBookService addBookService,
                              IEventAggregator eventAggregator,
                              IManageCommandQueue commandQueueManager,
                              Logger logger)
 {
     _importListFactory          = importListFactory;
     _importListExclusionService = importListExclusionService;
     _listFetcherAndParser       = listFetcherAndParser;
     _goodreadsProxy             = goodreadsProxy;
     _goodreadsSearchProxy       = goodreadsSearchProxy;
     _authorService       = authorService;
     _bookService         = bookService;
     _editionService      = editionService;
     _addAuthorService    = addAuthorService;
     _addBookService      = addBookService;
     _eventAggregator     = eventAggregator;
     _commandQueueManager = commandQueueManager;
     _logger = logger;
 }
Пример #8
0
        public BookModule(IAuthorService authorService,
                          IBookService bookService,
                          IAddBookService addBookService,
                          IEditionService editionService,
                          ISeriesBookLinkService seriesBookLinkService,
                          IAuthorStatisticsService authorStatisticsService,
                          IMapCoversToLocal coverMapper,
                          IUpgradableSpecification upgradableSpecification,
                          IBroadcastSignalRMessage signalRBroadcaster,
                          QualityProfileExistsValidator qualityProfileExistsValidator,
                          MetadataProfileExistsValidator metadataProfileExistsValidator)

            : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
        {
            _authorService  = authorService;
            _editionService = editionService;
            _addBookService = addBookService;

            GetResourceAll = GetBooks;
            CreateResource = AddBook;
            UpdateResource = UpdateBook;
            DeleteResource = DeleteBook;
            Put("/monitor", x => SetBooksMonitored());

            PostValidator.RuleFor(s => s.ForeignBookId).NotEmpty();
            PostValidator.RuleFor(s => s.Author.QualityProfileId).SetValidator(qualityProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.MetadataProfileId).SetValidator(metadataProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.RootFolderPath).IsValidPath().When(s => s.Author.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Author.ForeignAuthorId).NotEmpty();
        }
Пример #9
0
 public RefreshEditionService(IEditionService editionService,
                              IAudioTagService audioTagService,
                              Logger logger)
 {
     _editionService  = editionService;
     _audioTagService = audioTagService;
     _logger          = logger;
 }
Пример #10
0
 public RefreshEditionService(IEditionService editionService,
                              IMetadataTagService metadataTagService,
                              Logger logger)
 {
     _editionService     = editionService;
     _metadataTagService = metadataTagService;
     _logger             = logger;
 }
Пример #11
0
 public BookService(IBookRepository bookRepository,
                    IEditionService editionService,
                    IEventAggregator eventAggregator,
                    Logger logger)
 {
     _bookRepository  = bookRepository;
     _editionService  = editionService;
     _eventAggregator = eventAggregator;
     _logger          = logger;
 }
Пример #12
0
 public ParsingService(IAuthorService authorService,
                       IBookService bookService,
                       IEditionService editionService,
                       IMediaFileService mediaFileService,
                       Logger logger)
 {
     _bookService      = bookService;
     _editionService   = editionService;
     _authorService    = authorService;
     _mediaFileService = mediaFileService;
     _logger           = logger;
 }
Пример #13
0
 public ManualImportController(IManualImportService manualImportService,
                               IAuthorService authorService,
                               IEditionService editionService,
                               IBookService bookService,
                               Logger logger)
 {
     _authorService       = authorService;
     _bookService         = bookService;
     _editionService      = editionService;
     _manualImportService = manualImportService;
     _logger = logger;
 }
Пример #14
0
 public ExtraService(IMediaFileService mediaFileService,
                     IEditionService editionService,
                     IDiskProvider diskProvider,
                     IConfigService configService,
                     IEnumerable <IManageExtraFiles> extraFileManagers,
                     Logger logger)
 {
     _mediaFileService  = mediaFileService;
     _editionService    = editionService;
     _diskProvider      = diskProvider;
     _configService     = configService;
     _extraFileManagers = extraFileManagers.OrderBy(e => e.Order).ToList();
     _logger            = logger;
 }
Пример #15
0
 public CandidateService(ISearchForNewBook bookSearchService,
                         IAuthorService authorService,
                         IBookService bookService,
                         IEditionService editionService,
                         IMediaFileService mediaFileService,
                         Logger logger)
 {
     _bookSearchService = bookSearchService;
     _authorService     = authorService;
     _bookService       = bookService;
     _editionService    = editionService;
     _mediaFileService  = mediaFileService;
     _logger            = logger;
 }
Пример #16
0
 public ContractController(
     IGenreService genreService,
     IContractService contractService,
     IContractResultService contractResultService,
     IEditionService editionService,
     ICardService cardService,
     ISubscriptionService subscriptionService,
     IPaymentService paymentService,
     IPublisherService publisherService
     )
 {
     _genreService          = genreService;
     _contractService       = contractService;
     _contractResultService = contractResultService;
     _editionService        = editionService;
     _cardService           = cardService;
     _subscriptionService   = subscriptionService;
     _paymentService        = paymentService;
     _publisherService      = publisherService;
 }
Пример #17
0
        public ManualImportModule(IManualImportService manualImportService,
                                  IAuthorService authorService,
                                  IEditionService editionService,
                                  IBookService bookService,
                                  Logger logger)
        {
            _authorService       = authorService;
            _bookService         = bookService;
            _editionService      = editionService;
            _manualImportService = manualImportService;
            _logger = logger;

            GetResourceAll = GetMediaFiles;

            Put("/", options =>
            {
                var resource = Request.Body.FromJson <List <ManualImportResource> >();
                return(ResponseWithCode(UpdateImportItems(resource), HttpStatusCode.Accepted));
            });
        }
Пример #18
0
 public MetadataProfileService(IMetadataProfileRepository profileRepository,
                               IAuthorService authorService,
                               IBookService bookService,
                               IEditionService editionService,
                               IMediaFileService mediaFileService,
                               IImportListFactory importListFactory,
                               IRootFolderService rootFolderService,
                               ITermMatcherService termMatcherService,
                               Logger logger)
 {
     _profileRepository  = profileRepository;
     _authorService      = authorService;
     _bookService        = bookService;
     _editionService     = editionService;
     _mediaFileService   = mediaFileService;
     _importListFactory  = importListFactory;
     _rootFolderService  = rootFolderService;
     _termMatcherService = termMatcherService;
     _logger             = logger;
 }
Пример #19
0
 public BookFileMovingService(IEditionService editionService,
                              IUpdateBookFileService updateBookFileService,
                              IBuildFileNames buildFileNames,
                              IDiskTransferService diskTransferService,
                              IDiskProvider diskProvider,
                              IRootFolderWatchingService rootFolderWatchingService,
                              IMediaFileAttributeService mediaFileAttributeService,
                              IEventAggregator eventAggregator,
                              IConfigService configService,
                              Logger logger)
 {
     _editionService            = editionService;
     _updateBookFileService     = updateBookFileService;
     _buildFileNames            = buildFileNames;
     _diskTransferService       = diskTransferService;
     _diskProvider              = diskProvider;
     _rootFolderWatchingService = rootFolderWatchingService;
     _mediaFileAttributeService = mediaFileAttributeService;
     _eventAggregator           = eventAggregator;
     _configService             = configService;
     _logger = logger;
 }
Пример #20
0
        public BookController(IAuthorService authorService,
                              IBookService bookService,
                              IAddBookService addBookService,
                              IEditionService editionService,
                              ISeriesBookLinkService seriesBookLinkService,
                              IAuthorStatisticsService authorStatisticsService,
                              IMapCoversToLocal coverMapper,
                              IUpgradableSpecification upgradableSpecification,
                              IBroadcastSignalRMessage signalRBroadcaster,
                              QualityProfileExistsValidator qualityProfileExistsValidator,
                              MetadataProfileExistsValidator metadataProfileExistsValidator)

            : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
        {
            _authorService  = authorService;
            _editionService = editionService;
            _addBookService = addBookService;

            PostValidator.RuleFor(s => s.ForeignBookId).NotEmpty();
            PostValidator.RuleFor(s => s.Author.QualityProfileId).SetValidator(qualityProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.MetadataProfileId).SetValidator(metadataProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.RootFolderPath).IsValidPath().When(s => s.Author.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Author.ForeignAuthorId).NotEmpty();
        }
Пример #21
0
 public EventService(IEventDomainService eventDomainService,
                     IEditionService editionService)
 {
     _eventDomainService = eventDomainService ?? throw new ArgumentNullException(nameof(eventDomainService));
     _editionService     = editionService ?? throw new ArgumentNullException(nameof(editionService));
 }
Пример #22
0
 public EditionController(IEditionService service)
 {
     _service = service;
 }
Пример #23
0
 public EditionTagHelper(IEditionService editionService)
 {
     this.editionService = editionService;
 }
Пример #24
0
 public EditionController(IEditionService editionService, IFileSystem fileSystem, IHeaderSettings headerSettings) : base(fileSystem)
 {
     _editionService = editionService ?? throw new ArgumentNullException(nameof(editionService));
     _headerSettings = headerSettings ?? throw new ArgumentNullException(nameof(headerSettings));
 }
Пример #25
0
 public EditionController(IEditionService editionService)
 {
     _editionService = editionService;
 }
Пример #26
0
 public EditionsController(IEditionService editionService)
 {
     this.editionService = editionService;
 }
Пример #27
0
 public EditionController(IEditionService service, IFeatureService featureService) : base(service)
 {
     _service        = service;
     _featureService = featureService;
 }