Order Helper
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); }
}
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); }}
Order Helper的更多相关文章
- 对依赖倒置原则(DIP)及Ioc、DI、Ioc容器的一些理解
1.概述 所谓依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体.简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模 ...
- leetcode & lintcode for bug-free
刷题备忘录,for bug-free leetcode 396. Rotate Function 题意: Given an array of integers A and let n to be it ...
- leetcode & lintcode 题解
刷题备忘录,for bug-free 招行面试题--求无序数组最长连续序列的长度,这里连续指的是值连续--间隔为1,并不是数值的位置连续 问题: 给出一个未排序的整数数组,找出最长的连续元素序列的长度 ...
- LeetCode---二叉树3-总结例题
二叉树-总结例题 1-从中序与后序遍历序列构造二叉树 给定二叉树的后序遍历和二叉树的中序遍历 想法: 先根据后序遍历的最后一个元素构造根节点 寻找根节点在中序遍历中的位置 递归构建根节点的左右子树 / ...
- [LeetCode] Binary Tree Zigzag Level Order Traversal 二叉树的之字形层序遍历
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...
- Print a Binary Tree in Vertical Order
http://www.geeksforgeeks.org/print-binary-tree-vertical-order/ package algorithms; import java.util. ...
- magento app/design/adminhtml/default/default/template/sales/order/view/info.phtml XSS Vul
catalogue . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://www.freebuf. ...
- WebGrid Helper with Check All Checkboxes
WebGrid Helper with Check All Checkboxes myEvernote Link Tuesday, September 13, 2011ASP.NET ASP.NET ...
- Binary Tree Vertical Order Traversal
Given a binary tree, return the vertical order traversal of its nodes' values. (ie, from top to bott ...
随机推荐
- Linux 虚拟机虚拟网卡问题导致无法连接问题
问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到虚拟网卡启动或者初始化故障, 导致虚拟机无法连接. 问题分析 常见的超时报错范例如下: CentOS 复制 Bringing ...
- Data Flow ->> OLE DB Destination ->> Fast Load
OLE DB Destination组件提供了fast load选项,用bulk模式load数据而不是row-to-row的模式.这样性能上好.但是需要注意一点就是,一旦用了fast load,err ...
- SVNKit学习——wiki+简介(二)
这篇文章是参考SVNKit官网在wiki的文档,做了个人的理解~ 首先抛出一个疑问,Subversion是做什么的,SVNKit又是用来干什么的? 相信一般工作过的同学都用过或了解过svn,不了解的同 ...
- 配置spark集群
配置spark集群 1.配置spark-env.sh [/soft/spark/conf/spark-env.sh] ... export JAVA_HOME=/soft/jdk 2.配置slaves ...
- 最短路径-Dijkstra算法与Floyd算法
一.最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1 ADE:2 ADCE:3 ABCE:3 ②在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径 ...
- 沉淀,再出发——在Hadoop集群的基础上搭建Spark
在Hadoop集群的基础上搭建Spark 一.环境准备 在搭建Spark环境之前必须搭建Hadoop平台,尽管以前的一些博客上说在单机的环境下使用本地FS不用搭建Hadoop集群,可是在新版spark ...
- python 字符编码、格式化
数据类型-布尔值一个布尔值只有True.False两种值,要么是True,要么是False 布尔值可以用and.or和not运算 空值是Python里一个特殊的值,用None表示 Python对b ...
- C#中internal关键字
对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法.比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件 ...
- oracle 函数 WMSYS.WM_CONCAT 与对应 mysql 函数GROUP_CONCAT的用法
1.oracle函数 WMSYS.WM_CONCAT的使用 如图,将图1的结果变成图2的结果,使用函数 WMSYS.WM_CONCAT 即可. 查询语句需要配合使用group by select aa ...
- .NET Core学习之路
1.NET Core环境搭建 安装.NET Core: .NET Core 包括.NET Core Runtime 和 .NET Core SDK: NET Core = 应用运行依赖的 .NET C ...