using System;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query; /// <summary>
/// 销售合同
/// </summary>
public class ContractHelper
{
public static readonly string entityName = "contract";
public Guid contractId = Guid.Empty;
public IOrganizationService service; /// <summary>
/// 创建销售合同
/// </summary>
public void Create()
{
Entity en = new Entity() { LogicalName = entityName };
en["title"] = "销售合同测试";
contractId = 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 = contractId };
request.Assignee = assignee;
AssignResponse response = (AssignResponse)service.Execute(request);
} /// <summary>
/// 取消合同
/// </summary>
/// <param name="status">取消的状态</param>
public void CancelContract(int status)
{
CancelContractRequest request = new CancelContractRequest();
request.ContractId = contractId;
request.CancelDate = DateTime.Now;
request.Status = new OptionSetValue(status);
CancelContractResponse response = (CancelContractResponse)service.Execute(request);
} /// <summary>
/// 复制合同
/// </summary>
public void CloneContract()
{
CloneContractRequest request = new CloneContractRequest();
request.ContractId = contractId;
request.IncludeCanceledLines = true;
CloneContractResponse response = (CloneContractResponse)service.Execute(request);
//销售合同
Entity contractEn = response.Entity;
} /// <summary>
/// 续订合同
/// </summary>
public void RenewContract()
{
RenewContractRequest request = new RenewContractRequest();
request.ContractId = contractId;
request.IncludeCanceledLines = true;
//合同的状态
request.Status = ;
RenewContractResponse response = (RenewContractResponse)service.Execute(request);
//销售合同
Entity contractEn = response.Entity;
} /// <summary>
/// 与其他安全主体(用户或团队)共享销售合同
/// </summary>
/// <param name="accessMask">访问权限</param>
/// <param name="principal">用户或团队引用</param>
public void GrantAccessRequest(AccessRights accessMask, EntityReference principal)
{
GrantAccessRequest request = new GrantAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = contractId };
request.PrincipalAccess = new PrincipalAccess() { AccessMask = accessMask, Principal = principal };
GrantAccessResponse response = (GrantAccessResponse)service.Execute(request);
} /// <summary>
/// 删除指定安全主体(用户或团队)对销售合同的所有访问权限
/// </summary>
/// <param name="revokee">用户或团队引用</param>
public void RevokeAccess(EntityReference revokee)
{
RevokeAccessRequest request = new RevokeAccessRequest();
request.Target = new EntityReference() { LogicalName = entityName, Id = contractId };
request.Revokee = revokee;
RevokeAccessResponse response = (RevokeAccessResponse)service.Execute(request);
} /// <summary> ///
/// 删除销售合同 ///
/// </summary>
public void Delete() { service.Delete(entityName, contractId); }
}

Contract Helper的更多相关文章

  1. [C#] 简单的 Helper 封装 -- RegularExpressionHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. handlebars自定义helper的写法

    handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式 ...

  3. WCF学习之旅—基于Fault Contract 的异常处理(十八)

       WCF学习之旅—WCF中传统的异常处理(十六) WCF学习之旅—基于ServiceDebug的异常处理(十七) 三.基于Fault Contract 的异常处理 第二个示例是通过定制Servic ...

  4. Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value '"*, Microsoft.AspNet.Mvc.TagHelpers"'

    project.json 配置: { "version": "1.0.0-*", "compilationOptions": { " ...

  5. VS2015突然报错————Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with value 'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper

    Encountered an unexpected error when attempting to resolve tag helper directive '@addTagHelper' with ...

  6. JavaScript模板引擎artTemplate.js——template.helper()方法

    上一篇文章我们已经讲到了helper()方法,但是上面的例子只是一个参数的写法,如果是多个参数,写法就另有区别了. <div id="user_info"></d ...

  7. [ASP.NET MVC 小牛之路]13 - Helper Method

    我们平时编程写一些辅助类的时候习惯用“XxxHelper”来命名.同样,在 MVC 中用于生成 Html 元素的辅助类是 System.Web.Mvc 命名空间下的 HtmlHelper,习惯上我们把 ...

  8. asp.net MVC helper 和自定义函数@functions小结

    asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率.但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们 ...

  9. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    [源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...

随机推荐

  1. 为什么使用.Net Core, Asp.net Core以及部署到云端

    一,基于微软技术平台开发的应用项目,如果有以下的需求和潜在需求,建议使用.Net Core和Asp.net core技术架构: 1. 跨平台支持 2. 采用微服务架构 3. 使用Docker容器 4. ...

  2. c# 控制台定时程序

    using System; using System.Timers; namespace DaoChuCore2 { class Program { static void Main(string[] ...

  3. [EffectiveC++]导读 default构造函数

    class B { public: explicit B(int x = 0,bool b = true); //default构造函数 }; explicit可以阻止用来执行隐式类型转换,但是可以用 ...

  4. Xcode 下载地址 与Macos版本要求

    Xcode下载地址:https://developer.apple.com/download/more/ 参考文档:https://zh.wikipedia.org/wiki/Xcode

  5. Salesforce的多态存储和SAP C4C的元数据存储仓库

    Salesforce Force.com integrates and optimizes several different data persistence technologies to del ...

  6. 初探BeEF

    1.什么是BeEF? 就是 The Browser Exploitation Framework 的缩写,意在通过一些手段,控制对方的浏览器. 里面集成了很多模块,能够获取很多东西,有cookie,浏 ...

  7. 12、Node.js 路由

    这里实现的好像就是把路由和服务器相结合起来.具体需要引入 url 模块和 http 模块为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码需要 ...

  8. Python文件基础操作(IO入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...

  9. 【OpenCV】图像增强---灰度变换、直方图均衡化

    图像增强的目的:改善图像的视觉效果或使图像更适合于人或机器的分析处理.通过图像增强,可以减少图像噪声,提高目标与背景的对比度,也可以增强或抑制图像中的某些细节.  ------------------ ...

  10. Java集合源码 -- Map映射和Set集合

    Map接口 Map接口是有一个映射表, 存储键和值, 它提供了两个通用的接口HashMap 和 TreeMap HashMap 是散列映射表, 对键散列; Tree是树映射表, 对键进行排序,并将其组 ...