crm操作观点
2015-07-08 21:41
357 查看
using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
/// <summary>
/// 视图
/// </summary>
public class UserQueryHelper
{
public static readonly string entityName = "userquery";
public Guid viewid = Guid.Empty;
public IOrganizationService service;
/// <summary>
/// 创建视图
/// </summary>
public void Create()
{
#region fetchXml
string fetchXml =@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='opportunity'>
<order attribute='estimatedvalue' descending='false' />
<filter type='and'>
<condition attribute='statecode' operator='eq'
value='0' />
</filter>
<attribute name='name' />
<attribute name='estimatedvalue' />
<attribute name='estimatedclosedate' />
<attribute name='customerid' />
<attribute name='opportunityratingcode' />
<attribute name='closeprobability' />
<link-entity alias='opportunitycustomeridcontactcontactid'
name='contact' from='contactid' to='customerid'
link-type='outer' visible='false'>
<attribute name='emailaddress1' />
</link-entity>
<attribute name='opportunityid' />
</entity>
</fetch>";
#endregion
#region layoutXml
string layoutXml = @"<grid name='resultset' object='3' jump='name' select='1' preview='1' icon='1'>
<row name='result' id='opportunityid'>
<cell name='name' width='150' />
<cell name='customerid' width='150' />
<cell name='estimatedclosedate' width='150' />
<cell name='estimatedvalue' width='150' />
<cell name='closeprobability' width='150' />
<cell name='opportunityratingcode' width='150' />
<cell name='opportunitycustomeridcontactcontactid.emailaddress1'
width='150' disableSorting='1' />
</row>
</grid>";
#endregion
Entity en = new Entity() { LogicalName = entityName };
en["name"] = "自己定义商机视图";
en["returnedtypecode"] = "opportunity";
en["querytype"] = 0;
en["fetchxml"] = fetchXml;
en["layoutXml"] = layoutXml;
en["querytype"] = 0;
viewid = service.Create(en);
}
/// <summary>
/// 将用户查询分派给还有一用户或团队
/// </summary>
/// <param name="assignee">用户或团队引用</param>
public void Assign(EntityReference assignee)
{
AssignRequest request = new AssignRequest();
request.Target = new EntityReference() { LogicalName = entityName,Id = viewid };
request.Assignee = assignee;
AssignResponse response = (AssignResponse)service.Execute(request);
}
/// <summary>
/// 运行由 ID 指定的先前保存的查询
/// </summary>
public void ExecuteByIdUserQuery()
{
ExecuteByIdUserQueryRequest request = new ExecuteByIdUserQueryRequest();
request.EntityId = new EntityReference() { LogicalName = entityName,Id = viewid };
ExecuteByIdUserQueryResponse response = (ExecuteByIdUserQueryResponse)service.Execute(request);
string result = response.String;
}
/// <summary>
/// 删除指定安全主体(用户或团队)对用户查询的全部訪问权限
/// </summary>
/// <param name="revokee">用户或团队引用</param>
public void RevokeAccess(EntityReference revokee)
{
RevokeAccessRequest request = new RevokeAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = viewid };
request.Revokee = revokee;
RevokeAccessResponse response = (RevokeAccessResponse)service.Execute(request);
}
/// <summary>
/// 删除视图
/// </summary>
public void Delete()
{
service.Delete(entityName, viewid);
}
}
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
/// <summary>
/// 视图
/// </summary>
public class UserQueryHelper
{
public static readonly string entityName = "userquery";
public Guid viewid = Guid.Empty;
public IOrganizationService service;
/// <summary>
/// 创建视图
/// </summary>
public void Create()
{
#region fetchXml
string fetchXml =@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='opportunity'>
<order attribute='estimatedvalue' descending='false' />
<filter type='and'>
<condition attribute='statecode' operator='eq'
value='0' />
</filter>
<attribute name='name' />
<attribute name='estimatedvalue' />
<attribute name='estimatedclosedate' />
<attribute name='customerid' />
<attribute name='opportunityratingcode' />
<attribute name='closeprobability' />
<link-entity alias='opportunitycustomeridcontactcontactid'
name='contact' from='contactid' to='customerid'
link-type='outer' visible='false'>
<attribute name='emailaddress1' />
</link-entity>
<attribute name='opportunityid' />
</entity>
</fetch>";
#endregion
#region layoutXml
string layoutXml = @"<grid name='resultset' object='3' jump='name' select='1' preview='1' icon='1'>
<row name='result' id='opportunityid'>
<cell name='name' width='150' />
<cell name='customerid' width='150' />
<cell name='estimatedclosedate' width='150' />
<cell name='estimatedvalue' width='150' />
<cell name='closeprobability' width='150' />
<cell name='opportunityratingcode' width='150' />
<cell name='opportunitycustomeridcontactcontactid.emailaddress1'
width='150' disableSorting='1' />
</row>
</grid>";
#endregion
Entity en = new Entity() { LogicalName = entityName };
en["name"] = "自己定义商机视图";
en["returnedtypecode"] = "opportunity";
en["querytype"] = 0;
en["fetchxml"] = fetchXml;
en["layoutXml"] = layoutXml;
en["querytype"] = 0;
viewid = service.Create(en);
}
/// <summary>
/// 将用户查询分派给还有一用户或团队
/// </summary>
/// <param name="assignee">用户或团队引用</param>
public void Assign(EntityReference assignee)
{
AssignRequest request = new AssignRequest();
request.Target = new EntityReference() { LogicalName = entityName,Id = viewid };
request.Assignee = assignee;
AssignResponse response = (AssignResponse)service.Execute(request);
}
/// <summary>
/// 运行由 ID 指定的先前保存的查询
/// </summary>
public void ExecuteByIdUserQuery()
{
ExecuteByIdUserQueryRequest request = new ExecuteByIdUserQueryRequest();
request.EntityId = new EntityReference() { LogicalName = entityName,Id = viewid };
ExecuteByIdUserQueryResponse response = (ExecuteByIdUserQueryResponse)service.Execute(request);
string result = response.String;
}
/// <summary>
/// 删除指定安全主体(用户或团队)对用户查询的全部訪问权限
/// </summary>
/// <param name="revokee">用户或团队引用</param>
public void RevokeAccess(EntityReference revokee)
{
RevokeAccessRequest request = new RevokeAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = viewid };
request.Revokee = revokee;
RevokeAccessResponse response = (RevokeAccessResponse)service.Execute(request);
}
/// <summary>
/// 删除视图
/// </summary>
public void Delete()
{
service.Delete(entityName, viewid);
}
}
相关文章推荐
- SQL Server中的连接查询
- 关于ImageView加载出现OOM问题
- C++设计模式之 —— 原型模式 Prototype
- Search in Rotated Sorted Array
- 关于性能调优
- tornado 源码初识
- Android中Intent-filter的四个属性Action,Category,Extras,Data
- Android Studio 导入项目后不允许RUN 可修改buildToolsVersion
- Dijastra最优路径算法
- C语言 逆序一个数组的代码实现
- IOS--UI--LessonTarget/Action /Delegate
- BMP图像数据格式详解
- hadoop shell命令介绍
- 原型模式
- NHibernate中Session的处理 线程不安全
- visual studio 2013 --"Microsoft SQL Server Data Tools package did not load correctly"
- MAC下安装node.js
- linux下使用命令修改IP地址
- 程序员PC选购
- MySql 存储引擎的选取