From a6afc6eb58e6cc9820805101151c4cc9dcec904a Mon Sep 17 00:00:00 2001 From: binarydad Date: Wed, 21 Apr 2021 08:58:58 -0400 Subject: [PATCH] additional QueryAsync overloads --- SalesforceApiClient.cs | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/SalesforceApiClient.cs b/SalesforceApiClient.cs index 4afffd6..7f26cdb 100644 --- a/SalesforceApiClient.cs +++ b/SalesforceApiClient.cs @@ -357,9 +357,9 @@ namespace Salesforce.NET /// Retrieves Salesforce records using an object query expression /// /// - /// + /// /// - public async Task> QueryAsync(Expression> query) where T : SalesforceEntity + public Task> QueryAsync(Expression> queryExpression) where T : SalesforceEntity { var salesforceObject = GetObjectName(); @@ -378,9 +378,31 @@ namespace Salesforce.NET .Join(", "); // generate a SQL clause from the query expression - var clause = ConvertExpression(query.Body); + var clause = ConvertExpression(queryExpression.Body); - var queryApiUrl = await GetEndpointUrlAsync($"query?q=select {properties} from {salesforceObject} where {clause}"); + var query = $"select {properties} from {salesforceObject} where {clause}"; + + return QueryAsync(query); + } + + /// + /// Retrieves Salesforce records using a custom query + /// + /// A custom SOQL query + /// + public Task> QueryAsync(string query) + { + return QueryAsync(query); + } + + /// + /// Retrieves Salesforce records using a custom query + /// + /// A custom SOQL query + /// + public async Task> QueryAsync(string query) + { + var queryApiUrl = await GetEndpointUrlAsync($"query?q={query}"); return await InvokeRequestAsync(async httpClient => {