public async Task NotifyAboutAvailableBookAsync(int bookId)
        {
            var wishes = await _wishRepository.GetAll()
                         .Where(wish => wish.BookId == bookId)
                         .Include(wish => wish.User)
                         .Include(wish => wish.Book).ToListAsync();

            foreach (var wish in wishes)
            {
                await _notificationsService.NotifyAsync(
                    wish.User.Id,
                    $"The book '{wish.Book.Name}' from your wish list is available now.",
                    wish.BookId,
                    NotificationAction.Request);

                if (wish.User.IsEmailAllowed)
                {
                    await _emailSenderService.SendForWishBecameAvailable(
                        $"{wish.User.FirstName} {wish.User.LastName}".Trim(),
                        wish.BookId,
                        wish.Book.Name,
                        wish.User.Email);
                }
            }
        }