private async Task <SearchOrdersResponse> SearchOrdersAsync(SearchOrdersRequest requestBody, CancellationToken token, Mark mark) { if (token.IsCancellationRequested) { var exceptionDetails = CreateMethodCallInfo(SquareEndPoint.OrdersSearchUrl, mark, additionalInfo: this.AdditionalLogInfo()); var squareException = new SquareException(string.Format("{0}. Search orders request was cancelled", exceptionDetails)); SquareLogger.LogTraceException(squareException); throw squareException; } var response = await base.ThrottleRequest(SquareEndPoint.SearchCatalogUrl, requestBody.ToJson(), mark, (_) => { return(_ordersApi.SearchOrdersAsync(requestBody)); }, token).ConfigureAwait(false); var errors = response.Errors; if (errors != null && errors.Any()) { var methodCallInfo = CreateMethodCallInfo(SquareEndPoint.OrdersSearchUrl, mark, additionalInfo: this.AdditionalLogInfo(), errors: errors.ToJson(), payload: requestBody.ToJson()); var squareException = new SquareException(string.Format("{0}. Search orders returned errors", methodCallInfo)); SquareLogger.LogTraceException(squareException); throw squareException; } return(response); }
public void GetOrdersByLocation() { var body = new SearchOrdersRequest { ReturnEntries = false, Limit = 10, LocationIds = new List <string> { locationId }, Query = new SearchOrdersQuery { Filter = new SearchOrdersFilter { DateTimeFilter = new SearchOrdersDateTimeFilter { UpdatedAt = new TimeRange { StartAt = "2010-03-03T20:00:00Z", EndAt = "2040-03-03T20:00:00Z" } }, StateFilter = new SearchOrdersStateFilter( new List <string> { "COMPLETED", "OPEN", "CANCELED" } ) }, Sort = new SearchOrdersSort("UPDATED_AT", "DESC") } }; var response = instance.SearchOrdersAsync(body).Result; Assert.IsTrue(response.Errors == null || response.Errors.Count == 0); Assert.AreNotEqual(0, response.Orders.Count); }