public static async Task <InstalmentLink[]> RetrieveMany( Session session, Int64?supplierId = null, Int32 offset = 0, Int32 limit = 20, Order order = Order.ASCENDING, InstalmentLink.OrderBy orderBy = InstalmentLink.OrderBy.CREATED, String publicId = null ) { List <QueryParameter> parameters = new List <QueryParameter>(); parameters.Add(new QueryParameter(offset, "offset")); parameters.Add(new QueryParameter(limit, "limit")); parameters.Add(new QueryParameter(order)); parameters.Add(new QueryParameter(orderBy)); if (supplierId != null) { parameters.Add( new QueryParameter(supplierId ?? 0, "supplier_id") ); } if (publicId != null) { parameters.Add( new QueryParameter(publicId, "public_id") ); } String resultBody = await ApiRequest.Make( path : InstalmentLink.path + "/list", query : new QueryString(parameters), session : session, method : HttpMethod.Get ); var decodePayload = ApiRequest.DecodeResponse <DecodeArrayPayload>( resultBody ); var resultList = new List <InstalmentLink>(); foreach (InstalmentLink.DecodePayload link in decodePayload) { resultList.Add(new InstalmentLink( link.public_id, link.supplier, link.invitee_email, Convert.ToDecimal(link.invoice_amount), link.invoice_identifier )); continue; } return(resultList.ToArray()); }
internal QueryParameter(InstalmentLink.OrderBy value) { this.key = "order_by"; if (value == InstalmentLink.OrderBy.CREATED) { this.value = "created"; return; } throw new ApiRequestException(); }