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 ...
随机推荐
- jenkins start
author:alex.wang date:2017.05.25 system:centos7.2 ip:192.168.1.46 download: wget http://mirrors.jenk ...
- linux压缩
zip:打包 :zip something.zip something (目录请加 -r 参数)解包:unzip something指定路径:-d 参数tar:打包:tar -zcvf somethi ...
- 关于cookie的详解
http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html
- Stack vs Heap
http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html Table of Contents Stack vs Heap The Stac ...
- QT的动画效果 抖动 下坠 透明 最近在开发QT收藏了好多链接
http://blog.csdn.net/liang19890820/article/details/51888114
- np.arrange用法
np.arange()经常用,其用法总结如下: np.arange(0,60,2) 生成从0到60的步距为2的数组,其中0为初始值,60为终值,2步距, np.arange(60) 生成从0到59的默 ...
- 迷宫问题求解——C++
迷宫问题思路 根据昨天的博客,有如下几种解决方案 克鲁斯卡尔 ,为避免死循环,需要设定优化路径的次数. Prim,为避免死循环,需要设定优化路径的次数,暂定200次. BFS , 实现简单,无死循环. ...
- canvas的两个方法说明
今天在用canvas的时候,发现有两个方法比较陌生,在此记录详细说明一下. (1)文本绘制的一个方法 canvas.drawTextOnPath(text, path, hOffset, vOffse ...
- CF739B Alyona and a tree
嘟嘟嘟 前缀和+倍增+树上差分 假设\(v\)是\(u\)子树中的一个点,那么\(u\)能控制\(v\)的条件是受\(v\)的权值的限制,而并非\(u\).因此我们就能想到计算每一个点的贡献,即\(v ...
- 开源项目之kisso
kisso开源项目:https://gitee.com/baomidou/kisso 一.简介 kisso = cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 ja ...