Esempio n. 1
0
        public BookViewModel GetBookList()
        {
            BookViewModel viewModel = new Models.BookViewModel();

            try
            {
                List <BookModel>     bookList = new List <BookModel>();
                IEnumerable <string> fileList = fileReader.GetAllFiles();
                foreach (var file in fileList)
                {
                    string fileFormat = fileReader.GetFileFormat(file).ToUpper();
                    context = factory.CreateContext(fileFormat);
                    if (context != null)
                    {
                        string[] lines = fileReader.ReadTheFile(file);
                        bookList.AddRange(context.ReadBook(lines));
                    }
                }

                viewModel.Books  = bookList;
                viewModel.Errors = ErrorHandler.ErrorList;
            }
            catch (Exception e)
            {
                ErrorHandler.AddError(ErrorTypes.ER0, e);
                viewModel.Errors = ErrorHandler.ErrorList;
            }
            return(viewModel);
        }
Esempio n. 2
0
        public IBookReaderContext CreateContext(string fileType)
        {
            switch (fileType)
            {
            case "A":
                context = new BookReaderContext(new BookReaderA());
                break;

            case "B":
                context = new BookReaderContext(new BookReaderB());
                break;

            default:
                ErrorHandler.AddError(ErrorTypes.ER4, new Exception("Incorrect File format" + fileType));
                break;
            }
            return(context);
        }