- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要通过联系人 ID 获取联系人的发票,因此我编写了类似于 Qusery 3(用于付款)的查询 1。我的目标是从属于它的关联对象联系人的字段中查询发票。但是查询 1 返回 0 个结果。
然后我尝试了查询发票的方式,通过属于发票的字段进行查询。我指的是 GitHub 中的 Xero C# 代码示例。它正在运行并按预期返回 10 个结果。
为什么我不能从发票中属于联系人的 ContactId 字段查询?
查询 1(不工作 - 返回 0 个结果,期望 10 个结果)
var contact = _api.Contacts.Find().FirstOrDefault(c => c.AccountNumber == accountNumber);
returnInvoiceList =
_api.Invoices.Find()
.Where(c => c.Contact.Id == contact.Id)
.OrderBy(item => typeof(Invoice).GetProperty(
orderby, BindingFlags.Public | BindingFlags.Instance).GetValue(item))
.Skip(i * x)
.Take(x)
.ToList();
查询 2(工作)
returnInvoiceList =
_api.Invoices.Where(string.Format("Reference == \"{0}\"", accountNumber)).Find()
.OrderBy(item => typeof(Invoice).GetProperty(
orderby, BindingFlags.Public | BindingFlags.Instance).GetValue(item))
.Skip(i * x)
.Take(x)
.ToList();
QUERY 3(与查询 1 类似的模式查询,用于支付)
returnPaymentList =
_api.Payments.Find()
.Where(c => c.Invoice.Contact.Id == contact.Id)
.OrderBy(item => typeof(Payment).GetProperty(
orderby, BindingFlags.Public | BindingFlags.Instance).GetValue(item))
.Skip(i * x)
.Take(x)
.ToList();
最佳答案
在您的 Query1 中,看起来您使用的是 Linq .Where 而不是包装器的开放式 .Where 子句。使用 Linq .Where 将在客户端执行过滤。使用开放式包装器。Where 子句将允许在服务器端进行过滤,这意味着您只会收到与您的查询匹配的发票。
我建议您尝试替换查询的这一部分
_api.Invoices
.Find()
.Where(c => c.Contact.Id == contact.Id)
与
_api.Invoices
.Where("Contact.ContactID == Guid(\"" + contact.Id +"\")")
.Find()
利用服务器端过滤来确保您只会收到具有正确 contactID 的发票。
对于如何在 Query1 中查找您的联系人以及如何在 Query3 中查找您的付款,也可能值得您做类似的事情。
还值得注意的是,您最多只能返回 100 条记录,因为默认情况下包装器将分页发票。如果您希望返回超过 100 条记录,您将需要循环浏览页面,直到您不再收到任何更多记录,方法是在 .Find() 之前提供方法 .Page(x),其中 x 是您想要的页码。
这就是为什么您的 Query3 有效而您的 Query1 无效的原因。付款端点在 Xero 的 API 中尚不支持分页,因此您正在连接的组织中接收所有付款,因此在客户端进行过滤会很好,但对于 Query1,您只会收到 100 张发票(由于分页) 并且它们都不匹配您的客户端 Linq.Where。
干杯,
马特
关于c# - 按联系人 ID 查询发票时 Xero api 不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34323549/
我的 Xero 帐户上有一个用于发票的 Webhook。创建新发票时,我想使用来自 Webhook 的数据访问 Xero Api 向用户发送发票电子邮件。我有这方面的所有代码,但我的问题是 Webho
我正在为客户将 Xero 会计 API 与一些软件集成,需要获取两个指定日期之间的所有已付发票。 我正在使用 XeroOauth-PHP作为我的 API 包装器,但无法理解我如何获得两个日期之间的结果
使用ASP.NET MVC 5和Xero.API.SDK.2.2.1.13。 我正在尝试处理在调用Xero Api时引发的所有可能的错误。我正在尝试通过在BaseController中执行OnExce
我有一个从移动应用程序连接到的 .net core Web API 服务器。服务器在 Xero 上创建发票并向用户发送电子邮件等... 我一直使用oAuth 1,没有任何问题,但现在需要切换到oAut
我正在研究 Xero ( https://www.xero.com/ ) Oauth2 集成。有两种类型的应用程序 1) 私有(private) 2)公开 1) 私下里。我们需要在 xero 应用程序
也许这太明显了我不应该问!我们已经使用自己的 XeroApp 和 php 成功链接到 Xero,并检索了完整的 ACCREC 数据集。下一步是将其与我们的 MySQL 系统中的数据集成。我的问题是有哪
我使用 xero 作为我的会计软件。我有一个要求,我的应用程序的一部分需要与 xero 集成以执行自动化。使用nodejs sdk看起来很容易,但事实是即使使用最简单的例子我也无法连接到xero。这是
我想使用 xero-api 将 MOD10V05 有效的 Bpay CRN(使用 https://github.com/JedWatson/node-bpay 生成)分配给 xero 帐户中的联系人。
我目前已经使用 xero-node sdk 包实现了 NodeJs、express api,并且遇到了一个问题,似乎没有使用 OAuth 状态参数(尽管我看到它被定义为 XeroClient 构造函数
我正在尝试过帐 XERO 发票。这是函数 oauth_version); $two_legged = ($version === 1 && IsSet($options['2Legged'])
我正在尝试弄清楚如何正确地开始使用这个包。我已经通过 Composer 安装了它,并且可以使用自述文件中的一些说明让它工作,但在这个阶段我必须每次都像这样传递配置变量: $config = ['oau
我有一个 Java 应用程序,我在下一版本中使用 XERO 发票网关 ( https://xero.com ): com.github.xeroapi xero-java 2
如何将 Xero 与银行 API 集成?我有渣打银行 API,我想将其与 Xero 集成。我想知道这是否可行,也想知道如何实现。 最佳答案 Xero Bank Feeds API 是一个封闭式 API
我正在使用 xero-node npm 包,看起来它会节省我大量的时间。 我想创建或更新多个联系人,但不知道如何操作。我希望 Xero 的有人监视这个标签。 var contacts = []; va
我正在尝试使用官方 xero-node 将 Xero API 集成到我的 Node 应用程序中图书馆。 按照文档,我注册了一个公共(public)应用程序,提供了 consumerKey 和 cons
我需要使用 API 在 XERO 中添加采购订单。但是,我无法获得此服务的端点。如果您对此有任何想法,请告诉我。 提前致谢。 最佳答案 这是XERO官方的回复 not at the moment, I
我正在将我的应用程序与 Xero 集成,这需要两个证书。我在 this 的帮助下将它们上传到 Azure文章,但我仍然无法连接到 Xero API 。我希望有人有将 Xero 合作伙伴应用程序与 Az
我正在尝试从我的 Google App Engine 系统访问 Xero(会计软件)。 (Python 2.7)。 Xero 示例使用 M2Crypto,但这使用的 .c 文件似乎无法在 App En
我需要通过联系人 ID 获取联系人的发票,因此我编写了类似于 Qusery 3(用于付款)的查询 1。我的目标是从属于它的关联对象联系人的字段中查询发票。但是查询 1 返回 0 个结果。 然后我尝试了
我正在使用 xero-node 库并尝试通过联系获取 Aged Receivables。我找不到任何关于这样做的文档,因为似乎只有一个可接受的参数:ReportID。 xero.reports.get
我是一名优秀的程序员,十分优秀!