public LibraryCataloguer(BookParserConfig configuration, ConcurrentQueue <Exception> exceptions,
                                 IBookParserTrace tracer, Action <int> progress)
        {
            Progress = progress ?? throw new ArgumentNullException(nameof(progress));

            Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));

            GetMetadataFromFileDictionaryDelegate = new Dictionary <String, Delegate>()
            {
                { ".pdf", new Func <string, BookAtHome>(new PdfTextReaderFileInfoExtractor().GetPocoBook) },
                { ".txt", new Func <string, BookAtHome>(new FileInfoExtractor().GetPocoBook) },
                { ".rtf", new Func <string, BookAtHome>(new RtfFileInfoExtractor().GetPocoBook) },
                { ".epub", new Func <string, BookAtHome>(new EpubFileInfoExtractor().GetPocoBook) },
                { ".lit", new Func <string, BookAtHome>(new LitFileInfoExtractor().GetPocoBook) },
                { ".doc", new Func <string, BookAtHome>(new FileInfoExtractor().GetPocoBook) }
            };


            _mongoServerManager = new MongodbServerManager(Configuration.libraryContext.hostname);

            BooksInLibrary = new BooksCollectedDataMapper(Configuration.libraryContext.hostname, Configuration.libraryContext.databasename);

            BookToReview = new BookToBeReviewedDataMapper(Configuration.libraryContext.hostname, Configuration.libraryContext.databasename);

            LibStatistics = new LibraryStatisticsDataMapper(Configuration.libraryContext.hostname, Configuration.libraryContext.databasename);

            _tracer = tracer;

            _exceptions = exceptions;

            Init();
        }
 public LibraryStatisticsDataMapper(string servername, string database)
 {
     _databaseServer = servername;
     _databaseName   = database;
     _serverManager  = new MongodbServerManager(servername);
     _dbManager      = new MongodbDatabaseManager(servername, database);
 }
Beispiel #3
0
        public BooksCollectedReaderDataMapper(string server, string database)
        {
            _databaseManager = new MongodbDatabaseManager(server, database);

            _serverManager = new MongodbServerManager(server);

            if (GetBooks() == null)
            {
                _databaseManager.CreateCollection(collectionname);
            }

            CreateIndexes();
        }
Beispiel #4
0
        public BooksCollectedDataMapper(string server, string database)
        {
            MyRegisterClassMapHelper();

            _serverManager = new MongodbServerManager(server);
            _dbManager     = new MongodbDatabaseManager(server, database);

            if (GetBookCollection() == null)
            {
                _dbManager.CreateCollection(CollectionName);
            }

            CreateIndexes();
        }