public async Task BookCheckIn(BookCheckIn vm)
        {
            if (!(await _booksReprository.BookExists(vm.id)))
            {
                _logger.LogInformation("error  log message");

                throw new BaseException(HttpStatusCode.BadRequest, $"you cant checkout the book with Id : {vm.id}");
            }
            await _bookActivityReprository.BookCheckIn(vm);
        }
        public async Task BookCheckIn(BookCheckIn vm)
        {
            var model = await _dataContext.
                        BooksActivities.Include(d => d.Users).
                        Where(b => b.BooksId == vm.id).OrderBy(s => s.CheckOut).LastAsync();

            model.Books.Status = true;
            model.PenaltyFee   = vm.PenaltyFee;
            model.LateDays     = vm.NumberOfDaysLate;
            await _dataContext.SaveChangesAsync();
        }
        public async Task <IActionResult> BookCheckIn(BookCheckIn vm)
        {
            await _bookActivityManager.BookCheckIn(vm);

            return(NoContent());
        }