private string BuildQuery(GetTweetsWithHashtagQuery query)
 {
     // TODO: inject Tweets table name from outside?
     // TODO: Note that LIKE can be pretty slow -> consider fulltext index, see https://crate.io/docs/reference/sql/queries.html#like
     // TODO: escape hashtag string?
     return($"SELECT * FROM Tweets where Text LIKE '%{query.Hashtag}%'");
 }
        public override async Task <QueryResult <IList <Tweet> > > HandleAsync(GetTweetsWithHashtagQuery query)
        {
            var response = await GetResponse <Tweet>(BuildQuery(query));

            return(GetResultOrThrow(response));
        }
Ejemplo n.º 3
0
        public async Task <QueryResult <IList <Tweet> > > GetQueryResultAsync(GetTweetsWithHashtagQuery query)
        {
            var handler = new GetTweetsWithHashtagQueryHandler(this.client);

            return(await handler.HandleAsync(query));
        }
Ejemplo n.º 4
0
        public async Task <QueryResult <IList <Tweet> > > GetQueryResultAsync(GetTweetsWithHashtagQuery query)
        {
            var handler = new GetTweetsWithHashtagQueryHandler(new CrateClient(_crateUrl));

            return(await handler.HandleAsync(query));
        }
        public override async Task <QueryResult <IList <Tweet> > > HandleAsync(GetTweetsWithHashtagQuery query)
        {
            var response = await GetResponse <Tweet>(t => t.Text.Contains(query.Hashtag));

            return(GetResultOrThrow(response));
        }