示例#1
0
        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());
        }
示例#3
0
 public IReadOnlyCollection <Venue> Execute(InMemoryDocumentStore inMemoryDocumentStore, GetVenuesByProvider request)
 {
     return(inMemoryDocumentStore.Venues.All.Where(v => v.Ukprn == request.ProviderUkprn && v.Status == VenueStatus.Live).ToList());
 }