additional QueryAsync overloads

This commit is contained in:
Ryan Peters 2021-04-21 08:58:58 -04:00
parent 0a0e2d7d12
commit a6afc6eb58

View File

@ -357,9 +357,9 @@ namespace Salesforce.NET
/// Retrieves Salesforce records using an object query expression
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="query"></param>
/// <param name="queryExpression"></param>
/// <returns></returns>
public async Task<ICollection<T>> QueryAsync<T>(Expression<Func<T, bool>> query) where T : SalesforceEntity
public Task<ICollection<T>> QueryAsync<T>(Expression<Func<T, bool>> queryExpression) where T : SalesforceEntity
{
var salesforceObject = GetObjectName<T>();
@ -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<T>(query);
}
/// <summary>
/// Retrieves Salesforce records using a custom query
/// </summary>
/// <param name="query">A custom SOQL query</param>
/// <returns></returns>
public Task<ICollection<dynamic>> QueryAsync(string query)
{
return QueryAsync<dynamic>(query);
}
/// <summary>
/// Retrieves Salesforce records using a custom query
/// </summary>
/// <param name="query">A custom SOQL query</param>
/// <returns></returns>
public async Task<ICollection<T>> QueryAsync<T>(string query)
{
var queryApiUrl = await GetEndpointUrlAsync($"query?q={query}");
return await InvokeRequestAsync(async httpClient =>
{