Я пытаюсь вставить данные в объект SalesOrderDetail, все работает нормально, за исключением поля «Сумма», которое остается нулевым. Я не получаю сообщения об ошибке. Вот пример моего кода:
private void beginCreateSalesOrderDetail()
{
SalesOrderDetail orderDetail = new SalesOrderDetail();
orderDetail.SalesOrderId = new EntityReference()
{
Id = id,
LogicalName = "salesorder"
};
orderDetail.Quantity = element.QuantityOnHand;
orderDetail.ProductId = new EntityReference()
{
Id = element.ProductId,
LogicalName = "product"
};
orderDetail.UoMId = new EntityReference()
{
Id = new Guid("8DDD2AFB-73CF-E111-8140-00155D55B216"),
LogicalName = "uom"
};
orderDetail.TransactionCurrencyId = new EntityReference()
{
Id = new Guid("77D695B5-ACB4-E111-97BC-00155D55B216"),
LogicalName = "transactioncurrency"
};
Money Taxe = new Money();
Money Amount = new Money();
Taxe.Value = Convert.ToDecimal(element.totalCharges);
Amount.Value = Convert.ToDecimal(InvoiceTotal);
orderDetail.Tax = Taxe;
orderDetail.BaseAmount = Amount;
orderDetail.PricePerUnit = element.Price;
orderDetail.Description = element.PDesc;
_context.AddToSalesOrderDetailSet(orderDetail);
_context.BeginSaveChanges(EndCreateSalesOrderDetail, orderDetail);
}
private void EndCreateSalesOrderDetail(IAsyncResult result)
{
try
{
_context.EndSaveChanges(result);
}
catch (Exception ex)
{
}
}
Обратите внимание, что только сумма, которая остается нулевой
$150.00
`CultureInfo current = CultureInfo.CurrentCulture; десятичные myMoney = 150м; //форматирует как деньги в текущей культуре, например $99,99 string formattedMoney = myMoney.ToString(C, current);` - person MethodMan   schedule 08.01.2013CultureInfo current = CultureInfo.CurrentCulture;
, каково значениеcurrent
, я думаю, что это может быть проблемой, но не совсем уверен. Мне нужно знать точную стоимость, спасибо - person MethodMan   schedule 08.01.2013