protected override async Task Handle(UpdateRideRequestCommand request, CancellationToken cancellationToken) { var rideRequest = await _rideRequestRepository.GetByIdAsync(request.RideRequestId, cancellationToken); if (rideRequest.RideOwnerId != request.TokenUserId) { throw new ApiException("User does not have access to update group invite", StatusCodes.Status403Forbidden); } rideRequest.IsAccepted = request.IsAccepted; rideRequest.IsPending = false; if (request.IsAccepted) { await _stopRepository.AddStopToRideAsync( new Stop(rideRequest.RequestingUserId, rideRequest.Location, rideRequest.RideId), cancellationToken); } try { await _unitOfWork.SaveAsync(cancellationToken); } catch (DbUpdateException ex) { throw new ApiException(ex); } }
protected override async Task Handle(ResignRideRequestCommand request, CancellationToken cancellationToken) { var rideRequest = await _rideRequestRepository.GetByIdAsync(request.RideRequestId, cancellationToken); if (rideRequest.RequestingUserId != request.RequestingUserId) { throw new ApiException(StatusCodes.Status403Forbidden); } _rideRequestRepository.Delete(rideRequest); try { await _unitOfWork.SaveAsync(cancellationToken); } catch (DbUpdateException ex) { throw new ApiException(ex); } }