public async Task <VersionedServiceResult <Venue> > GetVenue(long?currentVersion, Guid?currentMemberId, Guid id) { Venue venue; if (currentMemberId != null) { venue = await _venueRepository.GetVenue(id); } else { venue = await _venueRepository.GetPublicVenue(id); } if (venue == null) { throw new OdkNotFoundException(); } if (currentMemberId != null) { await _authorizationService.AssertMemberIsChapterMember(currentMemberId.Value, venue.ChapterId); } return(await _cacheService.GetOrSetVersionedItem( () => _venueRepository.GetVenue(id), id, currentVersion)); }