Example #1
0
        public LibraryForm()
        {
            InitializeComponent();

            // Start on "Books" tab
            tbc_Main.SelectedIndex = 0;

            // Init services
            RepositoryFactory repoFactory = new RepositoryFactory();

            _bookCopyService = new BookCopyService(repoFactory);
            _bookService = new BookService(repoFactory);
            _authorService = new AuthorService(repoFactory);
            _memberService = new MemberService(repoFactory);
            _loanService = new LoanService(repoFactory);

            // Subscribe to events
            _bookService.Updated += _bookService_Updated;
            _bookCopyService.Updated += _bookService_Updated;
            _memberService.Updated += _memberService_Updated;
            _loanService.Updated += _bookService_Updated;
            _loanService.Updated += _memberService_Updated;
            _loanService.Updated += _loanService_Updated;

            // Fill the three main gridviews on startup
            UpdateMembers(_memberService.All());
            UpdateLoans(_loanService.Search(null, false));
            UpdateBooks(_bookService.All());
        }