为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用外部包装器 (davidyack) 在 mvc 核心中执行 MSCRM Webapi

无法使用外部包装器 (davidyack) 在 mvc 核心中执行 MSCRM Webapi

C#
FFIVE 2023-05-14 16:39:07
我无法使用 David Yack 包装器在 MSCRM 中为 mscrm webapi github执行绑定的自定义操作。我可以使用 MSCRM SDK 库轻松执行操作,但由于我使用的是 MVC 核心 2.2,所以我无法使用这些 DLL,我发现最好的替代方法是 david 的包装器,尽管在文档方面很薄,但它很棒。我尝试了各种执行操作的方法。如果操作是没有参数的未绑定自定义操作,我就可以开始工作。我在实体绑定操作和传递参数以及关联的实体 ID 上没有运气。我曾尝试在文档中找到 ac# 示例,但事实证明这很困难。我试图在下面的 SDK 代码中实现相同的功能,但使用 David 的包装器。OrganizationRequest request = new OrganizationRequest("new_GetProductBuyPrice");request["Target"] = new EntityReference("product", new Guid(ProductID));request["Account"] = new EntityReference("account", new Guid(AccountID));request["Currency"] = new EntityReference("transactionalcurrency", new Guid(CurrencyID));request["Qty"] = 1.00m;OrganizationResponse response = Xrm.XrmSvc.Execute(request);UnitBuy = Math.Round(((Money)response.Results["BuyPrice"]).Value, 2);DiscountReason = response.Results.Contains("DiscountReason") ? response.Results["DiscountReason"].ToString() : string.Empty;如何让 david 的包装器与我在 CRM 中的自定义操作一起执行?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

因此,设法使用github上的 David Yack API 包装器解决了这个问题,并发布了我的发现,以防万一有人偶然发现这篇文章。他们的关键是使用字典,就好像它是 Microsoft SDK 中的 EntityReference 类一样,并使用“@odata.type”作为实体类型,实体 ID 全部小写,如下所示:


dynamic AccountRef = new Dictionary<String, object>();

            AccountRef["@odata.type"] = "Microsoft.Dynamics.CRM.account";

            AccountRef["accountid"] = AccountId.ToString();


            dynamic CurrencyRef = new Dictionary<String, object>();

            CurrencyRef["@odata.type"] = "Microsoft.Dynamics.CRM.transactioncurrency";

            CurrencyRef["transactioncurrencyid"] = CurrencyId.ToString();


            var actionParams = new

            {

                Account = AccountRef,

                Currency = CurrencyRef,

                Qty = 1.00m

            };

            var response = await _crmClient.API.ExecuteAction("Microsoft.Dynamics.CRM.new_GetProductBuyPrice", "products", ProductId, actionParams);



查看完整回答
反对 回复 2023-05-14
  • 1 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信