private BookAtHome SearchBookInfoOfFile(string file)
        {
            _tracer?.TraceInfo("SearchBookInfoOfFile start for file {0}", file);

            try
            {
                PocoBook minimalbookinfo = GetMetadataFromFileDictionaryDelegate[Utils.GetExtension(file)].DynamicInvoke(file) as PocoBook;

                IBooksProvider libraryBookProvider =
                    PluginLoader.GetPluginFromFolder(Configuration.providerPlugin.pluginassemblyname, Configuration.providerPlugin.pluginfolder); //TODO: performace improvments

                List <PocoBook> booksFromProvider = libraryBookProvider.FetchBookInfo(minimalbookinfo);

                return(FileExtractor.AnalyzeResults(minimalbookinfo, booksFromProvider, _tracer));
            }

            catch (Exception ex)
            {
                if (ex is KeyNotFoundException || ex is InvalidOperationException || ex is ArgumentNullException || ex is System.Reflection.TargetInvocationException)
                {
                    return(new BookToBeReviewed(file, ex.Message));
                }
                throw;
            }
        }
Beispiel #2
0
 public BooksController(IBooksProvider booksProvider)
 {
     _booksProvider = booksProvider;
     //_booksProvider.SaveBook(new Book() { Code = "NET-0001", Price = 30.32, ReleaseDate = new DateTime(2016, 07, 23), Title = ".NET Core for Beginners" });
     //_booksProvider.SaveBook(new Book() { Code = "ASP-0001", Price = 30.32, ReleaseDate = new DateTime(2016, 10, 23), Title = "ASP .NET Core for Beginners" });
     //_booksProvider.SaveBook(new Book() { Code = "BRL-0001", Price = 30.32, ReleaseDate = new DateTime(2016, 10, 23), Title = "História e Vida de Sergio Moro" });
     //_booksProvider.SaveBook(new Book() { Code = "MEE-0001", Price = 30.32, ReleaseDate = new DateTime(2016, 10, 23), Title = "O monge e o executivo" });
 }
 public BooksProviderTest()
 {
     _booksProvider = new MockBookProvider();
 }
Beispiel #4
0
 public BooksController(IBooksProvider booksProvider)
 {
     _booksProvider = booksProvider;
 }