示例#1
0
        public LibraryForm()
        {
            InitializeComponent();

            // we create only one context in our application, which gets shared among repositories
            LibraryContext context = new LibraryContext();
            // we use a factory object that will create the repositories as they are needed, it also makes
            // sure all the repositories created use the same context.
            RepositoryFactory repFactory = new RepositoryFactory(context);

            this.bookService     = new BookService(repFactory);
            this.bookCopyService = new BookCopyService(repFactory);
            this.authorService   = new AuthorService(repFactory);
            this.memberService   = new MemberService(repFactory);
            this.loanService     = new LoanService(repFactory);

            //Can we do this another way?
            ShowAllBooks(bookService.All());
            AuthorTabShowAllAuthors(authorService.All());
            BookTabShowAllAuthors(authorService.All());
            MemberTabShowAllMembers(memberService.All());
            BookTabBooksByAuthor(authorService.All());
            ShowAllBooksInComboBox(bookService.All());
            LoanTabShowMembers(memberService.All());
            LoanTabShowCopies(bookCopyService.GetAvailableBookCopies(loanService.All(), bookCopyService.All()));
            ShowAllLoans(loanService.GetAllCurrentLoans(), loanService.GetAllPreviousLoans(), loanService.GetAllOverdueLoans());
            LoanTabShowLoansByMember(memberService.All());

            TEST(loanService.All(), bookCopyService.All());
        }
示例#2
0
 /// <summary>
 /// "Add new copy"-button
 /// </summary>
 private void button1_Click(object sender, EventArgs e)
 {
     if ((Book)comboBoxBook.SelectedItem != null)
     {
         try
         {
             BookCopy copy = new BookCopy((Book)comboBoxBook.SelectedItem, Convert.ToInt32(numericUpDownCopies.Value));
             bookCopyService.Add(copy);
             ShowAllBooks(bookService.All());
             LoanTabShowCopies(bookCopyService.GetAvailableBookCopies(loanService.All(), bookCopyService.All()));
             TEST(loanService.All(), bookCopyService.All());
         }
         catch (ArgumentNullException)
         {
             MessageBox.Show("Value can not be null.", "ArgumentNullException");
         }
     }
     else
     {
         MessageBox.Show("You need to choose a book.", "Error!");
     }
 }
示例#3
0
        /// <summary>
        /// Creates a Loan object
        /// </summary>
        /// <param name="sender">
        /// Object reference
        /// </param>
        /// <param name="e">
        /// Event data
        /// </param>
        private void btn_Create_Loan_Click(object sender, EventArgs e)
        {
            MakeLoanDialog mld = new MakeLoanDialog(memberService.All(), bookCopyService.GetAvailableBookCopies(loanService.All()));

            if (mld.ShowDialog() == DialogResult.OK)
            {
                if (mld._LoanBookCopy == null)
                {
                    MessageBox.Show("No loan created: You must choose a book from the drop-down-list to loan", "Error: Book Copy", MessageBoxButtons.OK);
                }
                else if (mld._LoanMember == null)
                {
                    MessageBox.Show("No loan created: You must choose a member from the drop-down-list for the loan", "Error: Member", MessageBoxButtons.OK);
                }
                else
                {
                    loanService.CreateNewLoan(mld._TimeOfLoan, mld._DueDate, mld._LoanBookCopy, mld._LoanMember);
                }
            }
        }