zoukankan      html  css  js  c++  java
  • 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);
            }
        }

  • 相关阅读:
    hadoop_05
    分布式集群时间同步
    crontab定时任务
    操作系统笔记五:输入输出系统
    操作系统笔记四:文件管理与磁盘存储器管理
    操作系统笔记三:存储器管理
    操作系统笔记二:进程与调度(2)
    操作系统笔记二:进程与调度(1)
    可能的加分项
    对老师的建议
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6796734.html
Copyright © 2011-2022 走看看