public async void CheckInBook()
        {
            if (!PerformCheckInValidation())
            {
                DisplayErrorMessage(BookCheckInConditionError);
                return;
            }

            var transaction = new BookTransaction
            {
                Customer = new Customer
                {
                    CustomerId = SuppliedCustomerId
                },
                Book = new Book
                {
                    BookId = SelectedBook.BookId
                },
                CheckIn = DateTime.Now
            };

            bool success = await bookManager.CheckInBook(transaction).ConfigureAwait(false);

            SuppliedCustomerId = 0;
            OnPropertyChanged("SuppliedCustomerId");

            if (success)
            {
                ++SelectedBook.AvailableCopies;
                CollectionViewSource.GetDefaultView(this.Books).Refresh();

                DisplayInfoMessage(BookCheckInSuccess, "Success!");
            }
            else
            {
                DisplayErrorMessage(BookCheckInError);
            }
        }