码迷,mamicode.com
首页 > Windows程序 > 详细

Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action

时间:2016-01-30 02:57:53      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

今天我们再来看看Bound/Unbound Custom Action吧,什么是Custom Action?不知道的小伙伴们就out了,Dynamics CRM 2013就有了这个功能啦。和WhoAmI这类消息一样,我们都可以通过代码去调用它们,只不过呢,今天我要给大家讲讲怎么用Web API的方式去调用它们。

Custom Action也被划分为Bound和Unbound两种类型了,它们的具体含义和之前讲的Function和Action没有区别,唯一的区别就是,这里的Custom Action是我们自己配置的,这里科普下,我们可以在Setting-》Process里面创建Action,它的创建界面如下:

Bound Custom Action

技术分享

Unbound Custom Action

技术分享

他们的调用方式和OOB Action是一样的,没有区别,具体可以参考下面的代码片段:

Bound Custom Action

 HttpRequestMessage custBoundActionReq = new HttpRequestMessage(HttpMethod.Post, webApiUrl + "/accounts(723ef58a-75bb-e511-80d9-c4346bc43f3c)/Microsoft.Dynamics.CRM.new_CreatePrimaryContactForAccount");
            custBoundActionReq.Headers.Authorization = new AuthenticationHeaderValue("Bearer", auth.AcquireToken().AccessToken);

            JObject custBoundActionContent = new JObject();
            custBoundActionContent.Add("FirstName", "Jeff");
            custBoundActionContent.Add("LastName", "Xiong");
            //custBoundActionContent.Add("Telephone", "15000303158");
            //custBoundActionContent.Add("Email", "jeff.xiong@ghostbear.com");

            custBoundActionReq.Content = new StringContent(JsonConvert.SerializeObject(custBoundActionContent), Encoding.UTF8, "application/json");

            HttpResponseMessage custBoundActionResp = await client.SendAsync(custBoundActionReq);

            if (custBoundActionResp.IsSuccessStatusCode)
            {
                JObject result = JsonConvert.DeserializeObject<JObject>(await custBoundActionResp.Content.ReadAsStringAsync());
                Console.WriteLine(result);
            }

Unbound Custom Action

            HttpRequestMessage custActionReq = new HttpRequestMessage(HttpMethod.Post, webApiUrl + "/new_CreateDemoAccount_UA");///"accounts(723ef58a-75bb-e511-80d9-c4346bc43f3c)/Microsoft.Dynamics.CRM.new_CreateDemoAccount"
            custActionReq.Headers.Authorization = new AuthenticationHeaderValue("Bearer", auth.AcquireToken().AccessToken);

            JObject custActionContent = new JObject();
            custActionContent.Add("AccountName", "Jeff‘s Demo Account");
            custActionReq.Content = new StringContent(JsonConvert.SerializeObject(custActionContent), Encoding.UTF8, "application/json");

            HttpResponseMessage custActionResp = await client.SendAsync(custActionReq);

            if (custActionResp.IsSuccessStatusCode)
            {
                JObject result = JsonConvert.DeserializeObject<JObject>(await custActionResp.Content.ReadAsStringAsync());
                Console.WriteLine(result);

            }

是不是很轻松呢?小伙伴们要知道,在之前,我们定义这样的Custom Action得花九牛二虎之力去呀,倒腾 web service什么的。现在我们只需要通过UI界面就可以轻松的配置一个不错的Action,是不是很幸福呢!



Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action

标签:

原文地址:http://blog.csdn.net/ghostbear/article/details/50608543

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!