• crm操作销售订单实体


        using System;
        using Microsoft.Xrm.Sdk;
        using Microsoft.Xrm.Sdk.Query;
        using Microsoft.Crm.Sdk.Messages;

        /// <summary>
        /// 销售订单
        /// </summary>
        public class SoleOrderHelper
        {
            public static readonly string entityName = "salesorder";
            public Guid soleorderId = Guid.Empty;
            public IOrganizationService service;

            /// <summary>
            /// 创建销售订单
            /// </summary>
            public void Create(Guid accountId)
            {
                Entity en = new Entity() { LogicalName = entityName,Id = accountId };
                en["name"] = "销售订单測试";
                en["accountid"] = new EntityReference() { LogicalName = "account" ,Id = accountId };
                soleorderId = 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 = soleorderId };
                request.Assignee = assignee;
                AssignResponse response = (AssignResponse)service.Execute(request);
            }

            /// <summary>
            /// 取消销售订单
            /// </summary>
            /// <param name="status">取消的状态</param>
            public void CancelSalesOrder(int status)
            {
                CancelSalesOrderRequest request = new CancelSalesOrderRequest();
                request.OrderClose = new Entity() { LogicalName = entityName,Id = soleorderId };
                request.Status = new OptionSetValue(status);
                CancelSalesOrderResponse response = (CancelSalesOrderResponse)service.Execute(request);
            }

            /// <summary>
            /// 将销售订单转换为发票
            /// </summary>
            public void ConvertSalesOrderToInvoice()
            {
                ConvertSalesOrderToInvoiceRequest request = new ConvertSalesOrderToInvoiceRequest();
                request.SalesOrderId = soleorderId;
                request.ColumnSet = new ColumnSet("name","accountid");
                ConvertSalesOrderToInvoiceResponse response = (ConvertSalesOrderToInvoiceResponse)service.Execute(request);
                Entity invoiceEn = response.Entity;
            }

            /// <summary>
            /// 完毕销售订单
            /// </summary>
            /// <param name="status">完毕的状态</param>
            public void FulfillSalesOrder(int status)
            {
                FulfillSalesOrderRequest request = new FulfillSalesOrderRequest();
                request.OrderClose = new Entity() { LogicalName = entityName,Id = soleorderId };
                request.Status = new OptionSetValue(status);
                FulfillSalesOrderResponse response = (FulfillSalesOrderResponse)service.Execute(request);
            }

            /// <summary>
            /// 从指定商机中检索销售订单的产品组
            /// </summary>
            /// <param name="opportunityId">商机id</param>
            public void GetSalesOrderProductsFromOpportunity(Guid opportunityId)
            {
                GetSalesOrderProductsFromOpportunityRequest request = new GetSalesOrderProductsFromOpportunityRequest();
                request.OpportunityId = opportunityId;
                request.SalesOrderId = soleorderId;
                GetSalesOrderProductsFromOpportunityResponse response =
                    (GetSalesOrderProductsFromOpportunityResponse)service.Execute(request);
            }

            /// <summary>
            /// 锁定销售订单定价
            /// </summary>
            public void LockSalesOrderPricing()
            {
                LockSalesOrderPricingRequest request = new LockSalesOrderPricingRequest();
                request.SalesOrderId = soleorderId;
                LockSalesOrderPricingResponse response = (LockSalesOrderPricingResponse)service.Execute(request); 
            }

            /// <summary>
            /// 解锁指定的销售订单(订单)中产品的单位价格
            /// </summary>
            public void UnlockSalesOrderPricing()
            {
                UnlockSalesOrderPricingRequest request = new UnlockSalesOrderPricingRequest();
                request.SalesOrderId = soleorderId;
                UnlockSalesOrderPricingResponse response = (UnlockSalesOrderPricingResponse)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 = soleorderId };
                request.Revokee = revokee;
                RevokeAccessResponse response = (RevokeAccessResponse)service.Execute(request);
            }

            /// <summary>
            /// 删除销售订单
            /// </summary>
            public void Delete()
            {
                service.Delete(entityName, soleorderId);
            }
        }

  • 相关阅读:
    Spring Security简单的登陆验证授权
    汽车之家汽车品牌Logo信息抓取 DotnetSpider实战[三]
    汽车之家店铺商品详情数据抓取 DotnetSpider实战[二]
    如何解决 MySQL报错:ERROR 1045 (28000)
    linux三剑客grep|sed|awk实践
    VMware中Linux启动时***Host SMBus controller not enabled的解决方法
    selenium初探:WebDriverException解决方法探索(以Chrome浏览器|IE浏览器|Edge浏览器为例)
    Windows10 64位 Python2.7 Matplotlib安装
    关于 水平制表符 Horizontal Tab (TAB)
    leetcode每日解题思路 221 Maximal Square
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6796734.html
Copyright © 2020-2023  润新知