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); } } }