crm工作机会实体
using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
public class OpportunityHelper
{
public static readonly string entityName = "opportunity";
public Guid opportunityId = Guid.Empty;
/// <summary>
/// 创建商机
/// </summary>
/// <param name="service">服务</param>
/// <param name="accountId">潜在客户</param>
public void Create(IOrganizationService service,Guid accountId)
{
Entity en = new Entity() { LogicalName = entityName };
//主题
en["name"] = "測试商机";
//潜在客户
en["customerid"] = new EntityReference() { LogicalName = entityName,Id = accountId };
opportunityId = service.Create(en);
}
/// <summary>
/// 计算商机的值
/// </summary>
/// <param name="service">服务</param>
public decimal CalculateActualValueOpportunity(IOrganizationService service)
{
CalculateActualValueOpportunityRequest request = new CalculateActualValueOpportunityRequest();
request.OpportunityId = opportunityId;
CalculateActualValueOpportunityResponse response =
(CalculateActualValueOpportunityResponse)service.Execute(request);
return response.Value;
}
/// <summary>
/// 更改商机为赢单
/// 1: 正在进行,2: 暂候,3: 赢单,4: 已取消,5: 售完
/// </summary>
public void WinOpportunity(IOrganizationService service)
{
WinOpportunityRequest request = new WinOpportunityRequest();
request.OpportunityClose = new Entity() { LogicalName = entityName,Id = opportunityId };
request.Status = new OptionSetValue(3);
service.Execute(request);
}
/// <summary>
/// 更改商机为丢单
/// 1: 正在进行,2: 暂候,3: 赢单,4: 已取消,5: 售完
/// </summary>
public void LoseOpportunity(IOrganizationService service)
{
LoseOpportunityRequest request = new LoseOpportunityRequest();
request.OpportunityClose = new Entity() { LogicalName = entityName, Id = opportunityId };
request.Status = new OptionSetValue(4);
service.Execute(request);
}
/// <summary>
/// 商机生成报价单
/// </summary>
/// <param name="service">服务</param>
public void ToQuote(IOrganizationService service)
{
GenerateQuoteFromOpportunityRequest request = new GenerateQuoteFromOpportunityRequest();
request.OpportunityId = opportunityId;
//这些字段将会转换
request.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "customerid");
GenerateQuoteFromOpportunityResponse response = (GenerateQuoteFromOpportunityResponse)service.Execute(request);
//报价单实体
Entity quoteEn = response.Entity;
}
/// <summary>
/// 商机生成销售订单
/// </summary>
/// <param name="service">服务</param>
public void ToSaleOrder(IOrganizationService service)
{
GenerateSalesOrderFromOpportunityRequest request = new GenerateSalesOrderFromOpportunityRequest();
request.OpportunityId = opportunityId;
//这些字段将会转换
request.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "customerid");
GenerateSalesOrderFromOpportunityResponse response = (GenerateSalesOrderFromOpportunityResponse)service.Execute(request);
//销售订单
Entity saloorderEn = response.Entity;
}
/// <summary>
/// 商机生成发票
/// </summary>
/// <param name="service">服务</param>
public void ToInvoiceFrom(IOrganizationService service)
{
GenerateInvoiceFromOpportunityRequest request = new GenerateInvoiceFromOpportunityRequest();
request.OpportunityId = opportunityId;
//这些字段将会转换
request.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "customerid");
GenerateInvoiceFromOpportunityResponse response = (GenerateInvoiceFromOpportunityResponse)service.Execute(request);
//发票
Entity invoiceFromEn = response.Entity;
}
/// <summary>
/// 为目标值中指定的实体获取产品的数量小数值
/// </summary>
/// <param name="service">服务</param>
/// <param name="productId">产品id</param>
/// <param name="uoMId">单位id</param>
public int GetQuantityDecimal(IOrganizationService service,Guid productId,Guid uoMId)
{
GetQuantityDecimalRequest request = new GetQuantityDecimalRequest();
request.Target = new EntityReference() { LogicalName = entityName,Id = opportunityId };
request.ProductId = productId;
request.UoMId = uoMId;
GetQuantityDecimalResponse response = (GetQuantityDecimalResponse)service.Execute(request);
return response.Quantity;
}
/// <summary>
/// 检索指定安全主体(用户或团队)对商机拥有的訪问权限
/// </summary>
/// <param name="service">服务</param>
/// <param name="principal">用户或团队</param>
public AccessRights RetrievePrincipalAccess(IOrganizationService service,EntityReference principal)
{
RetrievePrincipalAccessRequest request = new RetrievePrincipalAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = opportunityId };
request.Principal = principal;
RetrievePrincipalAccessResponse response = (RetrievePrincipalAccessResponse)service.Execute(request);
return response.AccessRights;
}
/// <summary>
/// 检索有权訪问商机的安全主体(用户或团队)及其对商机所拥有的訪问权限
/// </summary>
public void RetrieveSharedPrincipalsAndAccess(IOrganizationService service)
{
RetrieveSharedPrincipalsAndAccessRequest request = new RetrieveSharedPrincipalsAndAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = opportunityId };
RetrieveSharedPrincipalsAndAccessResponse response =
(RetrieveSharedPrincipalsAndAccessResponse)service.Execute(request);
if (response != null && response.PrincipalAccesses != null)
{
foreach(PrincipalAccess pa in response.PrincipalAccesses)
{
//訪问权限
AccessRights accessRights = pa.AccessMask;
//用户或者团队的引用
EntityReference Principal = pa.Principal;
}
}
}
/// <summary>
/// 移除指定安全主体(用户或团队)对商机拥有的全部訪问权限。
/// </summary>
/// <param name="service">服务</param>
/// <param name="revokee">用户或者团队</param>
public void RevokeAccess(IOrganizationService service,EntityReference revokee)
{
RevokeAccessRequest request = new RevokeAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = opportunityId };
request.Revokee = revokee;
service.Execute(request);
}
/// <summary>
/// 删除商机
/// </summary>
public void Delete(IOrganizationService service)
{
service.Delete(entityName, opportunityId);
}
}
crm工作机会实体的更多相关文章
- HTPC家庭娱乐和XBOX未来发展畅想<另:创业工作机会>
微软中国在上海举办新闻发布会,正式宣布Xbox One将于9月23日在中国开始销售,定价3699元起.这款早在2001年就发布的电视游戏机终于在经历了14年的等待后,进军中国大陆市场.此次Xbox O ...
- Microsoft Dynamics CRM 2011 新建实体 需要注意的细节
新建一个实体,需要红色框内的是否勾选的意义,可以进一步加深对CRM的理解.如图: 下面对部分的进行了自我的理解,不对的地方,还请大家指出来.互相学习. 1.CRM2011中,在活动方面加强的新特性包括 ...
- Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
CRM中通过QueryExpression查询出了一个EntityCollection集,但有时会存在重复数据,QueryExpression中有个属性distinct,只要设置为true就能过滤 ...
- crm操作报价单实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft ...
- crm操作货币实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; /// <summary> ...
- Dynamics CRM 修改自定义实体名字及属性前缀(架构名称)
本文章以2013为例(2011同理,4.0比较简单直接在系统设置的自定义中设置即可). 1.设置-->自定义项-->发布者,下图中的红框内的即为需要设置的前缀. 2.设置-->解决方 ...
- crm操作产品实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; /// <summary> ...
- crm操作约会实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft ...
- crm操作发票实体
using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Query; using Microsoft.Cr ...
随机推荐
- Tomcat详细用法学习(一)
在之前有关Tomcat的随笔<Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试>和<其他主机连接本地主机Tomcat会出现的防火墙问题>中已经详细 ...
- 14.2.5.5 Change Buffer
14.2.5.5 Change Buffer change buffer是一个指定的数据结构 用于caches 数据到secondary index pages 当影响的pages 不是在buffer ...
- grep、sed、awk、perl、js、vim等对正则表达式的支持的差别
grep.sed.awk.perl等对正则表达式的支持的差别 grep 2.5.1 egrep 2.5.1 sed 3.02 sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 ...
- 【虚拟化实战】容灾设计之三Stretched Cluster
作者:范军 (Frank Fan) 新浪微博:@frankfan7 Stretched Cluster是一把双刃剑,会用的如行云流水,用不好反而受其限制. 传统的vSphere Cluster是指一个 ...
- C++中的常对象和常对象成员
常对象 常对象必须在定义对象时就指定对象为常对象. 常对象中的数据成员为常变量且必须要有初始值,如 Time const t1(12,34,36); //定义t1为常对象 这样的话,在所有的场合中,对 ...
- one command 一键收集 oracle 巡检信息(包括dbhc,awr reports)
初步效果图例如以下 SQL> @nb ------Oracle Database health Check STRAT ------Starting Collect Data Informati ...
- Swift - 日期选择控件(UIDatePicker)的用法
1,使用storyboard创建日期选择控件 首先我们将一个UIDatePicker控件和一个按钮直接添加到Main.Storyboard上.该按钮是为了点击时弹出提示框显示当前选择的日期和时间. 同 ...
- linux df和du统计的空间不一致
假设你发现是 /tmp/ 目录不对劲,那么就这样就可以查看: lsof | grep /tmp 输出的结果中,注意某些含有“(deleted)”字样的记录,它们中的一部分就是罪魁祸首,将它们kill ...
- Delphi 类与对象内存结构浅析(三篇)
http://blog.csdn.net/starsky2006/article/details/5497082 http://blog.csdn.net/starsky2006/article/de ...
- <Win32_14>__win32控件(2)__教你自学掌握所有控件的玩法
学习win32 API 编程,我们应该善于利用微软给我们提供的一些辅助工具,例如大家都知道的MSDN.SPY++等等. 今天在讲述之前呢,先给大家介绍一个很有用的工具——Control Spy——它的 ...