public Task <IReadOnlyCollection <Venue> > Execute( DocumentClient client, Configuration configuration, GetVenuesByProvider request) { var collectionUri = UriFactory.CreateDocumentCollectionUri( configuration.DatabaseId, configuration.VenuesCollectionName); return(client .CreateDocumentQuery <Venue>(collectionUri, new FeedOptions { EnableCrossPartitionQuery = true }) .Where(v => v.Ukprn == request.ProviderUkprn && v.Status == VenueStatus.Live) .AsDocumentQuery() .FetchAll()); }
public async Task <IReadOnlyCollection <Venue> > Execute(SqlTransaction transaction, GetVenuesByProvider query) { var sql = $@" SELECT v.VenueId, v.ProviderId, v.ProviderUkprn, v.VenueName, v.ProviderVenueRef, v.AddressLine1, v.AddressLine2, v.Town, v.County, v.Postcode, v.Telephone, v.Email, v.Website, v.Position.Lat Latitude, v.Position.Long Longitude FROM Pttcd.Venues v WHERE v.VenueStatus = {(int)VenueStatus.Live} AND v.ProviderId = @ProviderId ORDER BY v.VenueName"; var param = new { ProviderId = query.ProviderId }; return((await transaction.Connection.QueryAsync <Venue>(sql, param, transaction)) .AsList()); }
public IReadOnlyCollection <Venue> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetVenuesByProvider request) { return(inMemoryDocumentStore.Venues.All.Where(v => v.Ukprn == request.ProviderUkprn && v.Status == VenueStatus.Live).ToList()); }