c# - 在动态crm中将销售订单详细信息添加到销售订单
问题描述
我正在创建一个销售订单,其中将单个产品添加到销售订单详细信息并将其附加到销售订单。
它给我一个错误,我想知道是否有正确的方法来执行此操作?
谢谢!
public void Create(CrmContextCore _crmContext, Guid productId, UserEntityModel currentuser)
{
var detail = new Entity("salesorderdetail");
{
detail["productid"] = new EntityReference("product", productId);
}
var salesorder = new Entity("salesorder");
{
salesorder["accountid"] = new EntityReference("account", currentuser.AccountId);
salesorder["contactid"] = new EntityReference("contact", currentuser.ContactId );
salesorder["emailaddress"] = currentuser.Email;
salesorder["name"] = "DealerPO123";
salesorder["salesorderdetail"] = detail;
}
_crmContext.ServiceContext.AddObject(salesorder);
_crmContext.ServiceContext.SaveChanges();
}
解决方案
// Create the sales order.
SalesOrder order = new SalesOrder()
{
Name = "Faux Order",
DateFulfilled = new DateTime(2010, 8, 1),
PriceLevelId = new EntityReference(PriceLevel.EntityLogicalName,
_priceListId),
CustomerId = new EntityReference(Account.EntityLogicalName,
_accountId),
FreightAmount = new Money(20.0M)
};
_orderId = _serviceProxy.Create(order);
order.Id = _orderId;
// Add the product to the order with the price overriden with a
// negative value.
SalesOrderDetail orderDetail = new SalesOrderDetail()
{
ProductId = new EntityReference(Product.EntityLogicalName,
_product1Id),
Quantity = 4,
SalesOrderId = order.ToEntityReference(),
IsPriceOverridden = true,
PricePerUnit = new Money(-40.0M),
UoMId = new EntityReference(UoM.EntityLogicalName,
_defaultUnitId)
};
_orderDetailId = _serviceProxy.Create(orderDetail);
推荐阅读
- reactjs - 如何在不使用包装器的情况下在 React 中呈现字符串数组?
- llvm - LLVM IR 中函数名后面的“.number”是什么意思?
- java - Importing pom in dependency management
- oracle - Oracle - '表达式类型错误'返回包中记录类型的表
- android-studio - 有没有办法避免这个错误信息?“无法解析资源@string/todo 提示:尝试刷新布局。”
- python - 如何根据数据框中的条件计算实例
- scope - 在 if 语句中使用全局声明(Julia 代码)
- twitter-bootstrap - 一些字形图标不显示
- python - 如何改变随机乌龟的颜色?
- swift - 自定义单元格中的文本混乱