private async void CheckInBook()
        {
            VisibilityCollapser();
            if (SelectedBookOfSelectedCustomer != null && SelectedCustomerHavingBook != null)
            {
                var obj = new CheckOutModel()
                {
                    BookId     = SelectedBookOfSelectedCustomer.BookId,
                    CustomerId = SelectedCustomerHavingBook.CustomerId,
                    Quantity   = SelectedBookOfSelectedCustomer.Quantity + 1
                };

                await _allCheckInoutOrderDataAccess.CheckOutBook(obj, Properties.Resources.CheckInBook);

                _log.Message("Checkin book ");
                RaiseCheckInOutEvent();
                GetAllOrders();
                GetBooks();
                GetAllCustomerHavingBook();
                BookCollectionBelongingToSelectedCustomer.Clear();
            }
            else
            {
                CheckInErrorMessage           = Properties.Resources.EmptyFieldErrorMsg;
                CheckInErrorMessageVisibility = Visibility.Visible;
            }
        }
 /// <summary>
 /// this method is called when there is some change in customer from customer section
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void CustomerViewModel_CustomerUpdateEvent(object sender, EventArgs e)
 {
     GetAllCustomer();
     GetAllOrders();
     GetBooks();
     GetAllCustomerHavingBook();
     BookCollectionBelongingToSelectedCustomer.Clear();
 }
        /// <summary>
        /// This method gives all the books of Currently selected user
        /// </summary>
        private async void GetAllBooksOfSelectedCustomer()
        {
            var _customerModel = new CustomerModel()
            {
                CustomerId = SelectedCustomerHavingBook.CustomerId
            };
            Task <List <BookModel> > task = Task.Run <List <BookModel> >(() => {
                var t = _allPastOrderedBookDataAcess.GetAllData(Properties.Resources.GetAllBooksOfSelectedCustomer, _customerModel);
                return(t);
            });

            BookCollectionBelongingToSelectedCustomer.Clear();
            _log.Message("Getting All books of selected user from the database");
            var booksCollectionOfSelectedUser = await task;

            booksCollectionOfSelectedUser.ForEach(t => BookCollectionBelongingToSelectedCustomer.Add(t));
        }