public async Task <AcceptOfferAuctionResponse> Handle(AcceptOfferAuctionRequest request, CancellationToken cancellationToken) { var offer = await offerService.GetOffer(request.OfferId) ?? throw new EntityNotFoundException("Offer not found"); var accepted = await auctionManager.AcceptAuction(request.AuctionId, request.OfferId); if (accepted) { var followersIds = FollowersUtils.GetFollowersIds(offer.Owner); foreach (var followerId in followersIds) { var notification = await notifier.Push(NotificationMessages.OfferAuctionAccepted(request.OfferId), followerId); await hubManager.Invoke(SignalrActions.NOTIFICATION_RECEIVED, followerId, mapper.Map <NotificationDto>(notification)); } return(new AcceptOfferAuctionResponse()); } throw new CrudException("Accepting offer auction failed"); }