public BorrowController(IDisplay display, ICardReader reader, IScanner scanner, IPrinter printer,
                                    IBookDAO bookDAO, ILoanDAO loanDAO, IMemberDAO memberDAO)
        {
            if(display == null) throw new ArgumentException("Display object was not provided to begin the application");
            if (reader == null) throw new ArgumentException("Reader object was not provided to begin the application");
            if (scanner == null) throw new ArgumentException("Scanner object was not provided to begin the application");
            if (printer == null) throw new ArgumentException("Printer object was not provided to begin the application");
            if (bookDAO == null) throw new ArgumentException("BookDAO object was not provided to begin the application");
            if (loanDAO == null) throw new ArgumentException("LoanDAO object was not provided to begin the application");
            if (memberDAO == null) throw new ArgumentException("MemberDAO object was not provided to begin the application");

            _display = display;
            _reader = reader;
            _scanner = scanner;
            _printer = printer;

            _bookDAO = bookDAO;
            _loanDAO = loanDAO;
            _memberDAO = memberDAO;

            _ui = new BorrowControl(this);

            _reader.Listener = this;
            _scanner.Listener = this;

            _bookList = new List<IBook>();
            _loanList = new List<ILoan>();

            _state = EBorrowState.CREATED;
        }
Ejemplo n.º 2
0
        public void ScanningABook_ThatIsOnLoan_ResultsInNotAvailableError(IEventAggregator eventAggregator
            , IBookDAO bookDao
            , [Frozen] IBook book
            , ILoanDAO loanDao
            , ScanBookModel scanBookModel
            , IScanBookViewModel viewModel)
        {
            // Arrange - Setup book on loan.
            eventAggregator.GetEvent<BorrowingStateEvent>().Returns(new BorrowingStateEvent());

            bookDao.GetBookByID(scanBookModel.Barcode).Returns(book);
            book.State.Returns(BookState.ON_LOAN);

            loanDao.LoanList.Returns(new List<ILoan>());

            var controller = new ScanBookController(eventAggregator)
            {
                BookDao = bookDao,
                LoanDao = loanDao,
                ViewModel = viewModel
            };

            // Act -Scan a book.
            controller.Scanning(scanBookModel);

            // Assert - 
            viewModel.ErrorMessage.Should().Be($"Book {book.ID} is not available: {book.State}");

        }
Ejemplo n.º 3
0
        public MainWindow()
        {
            _reader  = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();

            _bookDAO   = new BookDao(new BookHelper());
            _loanDAO   = new LoanDao(new LoanHelper());
            _memberDAO = new MemberDao(new MemberHelper());

            InitializeComponent();

            _reader.Show();
            _scanner.Show();
            _printer.Show();


            SetUpTestData();

            MainMenuController mainController =
                new MainMenuController(this, _reader, _scanner, _printer,
                                       _bookDAO, _loanDAO, _memberDAO);

            mainController.initialise();
        }
Ejemplo n.º 4
0
 public LibraryItemService()
 {
     _userDAO        = new UserDAO();
     _dbUtils        = new DbUtils();
     _bookDAO        = new BookDAO();
     _dvdDAO         = new DVDDAO();
     _libraryItemDAO = new LibraryItemDAO();
 }
Ejemplo n.º 5
0
        public void Initialize()
        {
            this.dao = new BookDAO();
            string initializer = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "initialize.sql");
            string cleaner     = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "cleanup.sql");

            Common.Cleanup(cleaner);
            Common.Initialazation(initializer);
        }
Ejemplo n.º 6
0
 public AdminController()
 {
     _postService       = new PostService();
     _discussionService = new DiscussionService();
     _bookService       = new BookService();
     _replyService      = new ReplyService();
     _genreService      = new GenreService();
     _authorService     = new AuthorService();
 }
Ejemplo n.º 7
0
 public void Dispose()
 {
     _display   = null;
     _reader    = null;
     _scanner   = null;
     _printer   = null;
     _bookDao   = null;
     _loanDao   = null;
     _memberDao = null;
 }
 public BorrowControlTests()
 {
     _display = Substitute.For<IDisplay>();
     _reader = Substitute.For<ICardReader>();
     _scanner = Substitute.For<IScanner>();
     _printer = Substitute.For<IPrinter>();
     _bookDao = Substitute.For<IBookDAO>();
     _loanDao = Substitute.For<ILoanDAO>();
     _memberDao = Substitute.For<IMemberDAO>();
 }
 public void Dispose()
 {
     _display = null;
     _reader = null;
     _scanner = null;
     _printer = null;
     _bookDao = null;
     _loanDao = null;
     _memberDao = null;
 }
        public Scenario04CompleteScans()
        {
            _bookDao = new BookDao(new BookHelper());
            _loanDao = new LoanDao(new LoanHelper());
            _memberDao = new MemberDao(new MemberHelper());

            _display = new MainWindow();
            _reader = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();
        }
        public Scenario02SwipeBorrowerCard()
        {
            _bookDao = new BookDao(new BookHelper());
            _loanDao = new LoanDao(new LoanHelper());
            _memberDao = new MemberDao(new MemberHelper());

            _display = new MainWindow();
            _reader = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();
        }
        public BorrowControlIntegration()
        {
            _bookDao = new BookDao(new BookHelper());
            _loanDao = new LoanDao(new LoanHelper());
            _memberDao = new MemberDao(new MemberHelper());

            _display = new MainWindow();
            _reader = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();
        }
        public BorrowController(IDisplay display, ICardReader reader, IScanner scanner, IPrinter printer,
                                    IBookDAO bookDAO, ILoanDAO loanDAO, IMemberDAO memberDAO)
        {
            _display = display;
            _reader = reader;
            _scanner = scanner;
            _printer = printer;

            _ui = new BorrowControl(this);

            _state = EBorrowState.CREATED;
        }
        public MainMenuController(IDisplay display, ICardReader reader, IScanner scanner, IPrinter printer,
                                    IBookDAO bookDAO, ILoanDAO loanDAO, IMemberDAO memberDAO)
        {
            _display = display;
            _reader = reader;
            _scanner = scanner;
            _printer = printer;

            _bookDAO = bookDAO;
            _loanDAO = loanDAO;
            _memberDAO = memberDAO;
        }
        public MainMenuController(IDisplay display, ICardReader reader, IScanner scanner, IPrinter printer,
                                  IBookDAO bookDAO, ILoanDAO loanDAO, IMemberDAO memberDAO)
        {
            _display = display;
            _reader  = reader;
            _scanner = scanner;
            _printer = printer;

            _bookDAO   = bookDAO;
            _loanDAO   = loanDAO;
            _memberDAO = memberDAO;
        }
Ejemplo n.º 16
0
        public MainMenuController(IDisplay display, ICardReader reader, IScanner scanner, IPrinter printer,
                                    IBookDAO bookDao, ILoanDAO loanDao, IMemberDAO memberDao, ICardReaderEvents cardReaderEvents)
        {
            CardReaderEvents = cardReaderEvents;
            _display = display;
            _reader = reader;
            _scanner = scanner;
            _printer = printer;

            _bookDao = bookDao;
            _loanDao = loanDao;
            _memberDao = memberDao;
        }
        public BorrowController(IDisplay display, ICardReader reader, IScanner scanner, IPrinter printer,
                                IBookDAO bookDAO, ILoanDAO loanDAO, IMemberDAO memberDAO)
        {
            if (display == null)
            {
                throw new ArgumentException("Display object was not provided to begin the application");
            }
            if (reader == null)
            {
                throw new ArgumentException("Reader object was not provided to begin the application");
            }
            if (scanner == null)
            {
                throw new ArgumentException("Scanner object was not provided to begin the application");
            }
            if (printer == null)
            {
                throw new ArgumentException("Printer object was not provided to begin the application");
            }
            if (bookDAO == null)
            {
                throw new ArgumentException("BookDAO object was not provided to begin the application");
            }
            if (loanDAO == null)
            {
                throw new ArgumentException("LoanDAO object was not provided to begin the application");
            }
            if (memberDAO == null)
            {
                throw new ArgumentException("MemberDAO object was not provided to begin the application");
            }

            _display = display;
            _reader  = reader;
            _scanner = scanner;
            _printer = printer;

            _bookDAO   = bookDAO;
            _loanDAO   = loanDAO;
            _memberDAO = memberDAO;

            _ui = new BorrowControl(this);

            _reader.Listener  = this;
            _scanner.Listener = this;

            _bookList = new List <IBook>();
            _loanList = new List <ILoan>();

            _state = EBorrowState.CREATED;
        }
Ejemplo n.º 18
0
 public BorrowBookCTL(IBookDAO bookDAO, IMemberDAO memberDAO, ILoanDAO loanDAO, IBorrowUI ui)
 {
     if (bookDAO == null || memberDAO == null || loanDAO == null || ui == null)
     {
         throw new ArgumentException(String.Format("BorrowCTL : constructor : parameters cannot be null."));
     }
     this.bookDAO = bookDAO;
     this.memberDAO = memberDAO;
     this.loanDAO = loanDAO;
     this.ui = ui;
     overdue = atLoanLimit = overFineLimit = false;
     further_borrowing_allowed = true;
     existingLoanCount = 0;
     pendingLoanCount = 0;
     bookList = new List<IBook>();
 }
Ejemplo n.º 19
0
        public MainWindow()
        {
            _reader = new CardReader();
            _scanner = new Scanner();
            _printer = new Printer();
            InitializeComponent();
            _reader.Show();
            _scanner.Show();
            _printer.Show();

            _bookDAO   = new BookDAO(new BookHelper());
            _loanDAO   = new LoanDAO(new LoanHelper());
            _memberDAO = new MemberDAO(new MemberHelper());

            SetUpTestData();

            MainMenuController mainController =
                new MainMenuController(this, _reader, _scanner, _printer,
                                        _bookDAO, _loanDAO, _memberDAO);
            mainController.initialise();
        }
Ejemplo n.º 20
0
 public ReviewController()
 {
     _reviewService = new ReviewService();
     _bookService   = new BookService();
 }
Ejemplo n.º 21
0
 public BookService()
 {
     _bookDAO = new BookDAO();
     _userDAO = new UserDAO();
     _dbUtils = new DbUtils();
 }
Ejemplo n.º 22
0
 public BookService()
 {
     _dao = new BookDAO();
 }
Ejemplo n.º 23
0
        public void ScanningABook_ThatsAlreadyScanned_ResultsInAlreadyScannedError(IEventAggregator eventAggregator
            , IBookDAO bookDao
            , [Frozen] IBook book
            , ILoanDAO loanDao
            , IMemberDAO memberDao
            , ScanBookModel scanBookModel
            , IBorrowingModel borrowingModel
            , ScanBookViewModel viewModel
            , List<ILoan> loanList
            , [Frozen] Member borrower)
        {
            // Arrange - Setup a book that has already been scanned.

            // Mock the events.
            eventAggregator.GetEvent<BorrowingStateEvent>().Returns(new BorrowingStateEvent());
            eventAggregator.GetEvent<ScanningRecievedEvent>().Returns(new ScanningRecievedEvent());
            eventAggregator.GetEvent<ScanningEvent>().Returns(new ScanningEvent());

            // We are currently in the scanning book state.
            borrowingModel.BorrowingState.Returns(EBorrowState.SCANNING_BOOKS);

            // Establish the current user identified on borrowing model, and returned from member dao.
            borrowingModel.ID = borrower.ID;
            memberDao.GetMemberByID(borrower.ID).Returns(borrower);

            // Configure mapping.
            AutoMapperConfig.RegisterMaps();


            // One of the loans in the loan list has a status of pending for the current borrower.
            var existingLoan = loanList.First();
            existingLoan.State.Returns(LoanState.PENDING);
            existingLoan.Borrower.Returns(borrower);

            // The loan Dao returns this loan list when requested
            loanDao.LoanList.Returns(loanList);

            // The book to be scanned is the same book as already scanned.
            bookDao.GetBookByID(scanBookModel.Barcode).Returns(existingLoan.Book);

            // The book is available for loan.
            existingLoan.Book.State.Returns(BookState.AVAILABLE);

            var controller = new ScanBookController(eventAggregator)
            {
                BookDao = bookDao,
                LoanDao = loanDao,
                MemberDao = memberDao,
                ViewModel = viewModel
            };

            // Prepare Scanner
            controller.ScanBook(borrowingModel);


            // Act -Scan a book.
            controller.Scanning(scanBookModel);

            // Assert - Already scanned error message appears.
            viewModel.ErrorMessage.Should().Be($"Book {existingLoan.Book.ID} already scanned ");
        }
Ejemplo n.º 24
0
 //private readonly IPostDAO _postService;
 public ChallengeController()
 {
     _bookService      = new BookService();
     _context          = new ApplicationDbContext();
     _challengeService = new ChallengeService();
 }
Ejemplo n.º 25
0
 public BookLogic(IBookDAO bookDAO, IBookQueue bookQueue)
 {
     _bookDAO   = bookDAO;
     _bookQueue = bookQueue;
 }
Ejemplo n.º 26
0
 public BookLogic(IBookDAO bookDAO, IBookValidator bookValidator, ILogger logger)
 {
     this.logger        = logger;
     this.bookDAO       = bookDAO;
     this.bookValidator = bookValidator;
 }
Ejemplo n.º 27
0
 public BookController()
 {
     _context           = new ApplicationDbContext();
     _bookService       = new BookService();
     _discussionService = new DiscussionService();
 }