zoukankan      html  css  js  c++  java
  • Contract Helper

    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 = 0;
            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); }
    }
  • 相关阅读:
    02.ZooKeeper的Java客户端使用
    01.ZooKeeper安装和介绍
    02.Elasticsearch入门
    01.Elasticsearch安装
    01.ActiveMQ安装部署
    springboot项目打包时提示“程序包xxx不存在,找不到符号”
    Eclipse提交git代码 报错authentication not supported
    Eclipse提交git代码 报错authentication not supported
    utf8mb4_general_ci报错解决方案
    mysql开启远程访问
  • 原文地址:https://www.cnblogs.com/bennylam/p/9921345.html
Copyright © 2011-2022 走看看