public async Task <VenueResponse> AddVenueAsync(VenueRequest venue) { LocationIqReverseResponse locationResponse = await _locationIqProvider.GetLocationDetailsAsync(venue.Postcode); VenueAddress venueAddress = locationResponse.MapAddressProperties(venue.BuildingNameOrNumber); VenueDto venueDto = venue.MapRequestToDto(Guid.Empty, venueAddress); Guid insertedVenueId = await _venueRepo.AddVenueAsync(venueDto); VenueLocation venueLocation = new VenueLocation { Location = locationResponse.MapToGeoJson(), VenueId = insertedVenueId }; await _locationIqProvider.AddGeoLocation(venueLocation); return(await GetVenueAsync(insertedVenueId)); }