public async Task <IActionResult> CheckPage(int id)
        {
            //display last check out for the book
            BookCheckPage model = await _bookActivityManager.CheckPage(id);

            return(Ok(model));
        }
        public async Task <BookCheckPage> CheckPage(int id)
        {
            var vm = await _dataContext.
                     BooksActivities.Include(d => d.Users).
                     Where(b => b.BooksId == id).OrderBy(s => s.CheckOut).LastAsync();

            var model = new BookCheckPage
            {
                bookId              = id,
                CheckOutDate        = vm.CheckOut,
                Email               = vm.Users.Email,
                ExpectedCheckInDate = vm.ExpectedCheckIn,
                FullName            = vm.Users.FullName,
                NIN         = vm.Users.NIN,
                PhoneNumber = vm.Users.PhoneNumber,
            };
            var NumberOfDaysLate = vm.ExpectedCheckIn.NumberOfDaysLate();

            model.NumberOfDaysLate = (int)NumberOfDaysLate;
            model.PenaltyFee       = NumberOfDaysLate == 0 ? 0.0m : (decimal)(200 * NumberOfDaysLate);

            return(model);
        }