IOrderStore bug?
Posted: Thu Sep 24, 2015 3:25 pm
In a CDF order, when a user adds a "Loan Amount (Points)" Origination Charge (Section A.01) by typing the percent directly into the description field, ie., types in "0.25% of Loan Amount (Points)", we encounter a Null Reference Exception when opening the order from code (IOrderStore.OpenOrder(...)). The order opens fine in Select. If the user add the line by putting the percent into the "Percent Calculation" field, the order opens fine from code.
SoftPro Version: 4.0.30302.62. Also seen on version 4.0.30302.58
Here's the code, error message and stacktrace.
Code
Error Message
Stacktrace
SoftPro Version: 4.0.30302.62. Also seen on version 4.0.30302.58
Here's the code, error message and stacktrace.
Code
Code: Select all
using (SoftPro.OrderTracking.Client.Orders.IOrder order = orderStore.OpenOrder(orderInfo, false))
{
}
Code: Select all
An exception of type 'System.NullReferenceException' occurred in SoftPro.OrderTracking.Order_3d25c348fbb0936a441617d0336d4878.dll but was not handled in user code
Additional information: Object reference not set to an instance of an object.
Code: Select all
at OriginationChargeDetailCharge.<CTX>0A2F.<ValueImpl>23676(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at OriginationChargeDetailCharge.<CTX>0A2F.<Value>23676(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFPercentChargeCalculation.get_Percent()
at OriginationChargeDetailCharge.<CTX>0A2E.<ValueImpl>23582(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at OriginationChargeDetailCharge.<CTX>0A2E.<Value>23582(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFPercentChargeCalculation.get_Amount()
at CDFDetailCharge.<ValueImpl>BuyerPaidAtClosing(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>BuyerPaidAtClosing(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_BuyerPaidAtClosing()
at CDFDetailCharge.<ValueImpl>Amount(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>Amount(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_Amount()
at CDFCharge.<ValueImpl>Source(ICDFChargeSource& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFCharge.<Value>Source(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFLine.<ValueImpl>Charges()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at CDFLine.<Value>Charges(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at OriginationChargeDetailLine.get_Charges()
at CDFDetailLine.<ValueImpl>SellerPaidAtClosing(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailLine.<Value>SellerPaidAtClosing(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailLine.get_SellerPaidAtClosing()
at CDFSellerProceeds.<CTX>00DB.<PID>Func00DC(CDFDetailLine l)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Sum(IEnumerable`1 source)
at CDFSellerProceeds.<ValueImpl>SendToAmount(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFSellerProceeds.<Value>SendToAmount(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFSellerProceeds.get_SendToAmount()
at CDFSellerProceeds.<ValueImpl>Amount(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFSellerProceeds.<Value>Amount(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFSellerProceeds.<ValueImpl>SendCharge(Boolean& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFSellerProceeds.<Value>SendCharge(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFSellerProceeds.get_SendCharge()
at CDFLine.<CTX>01E7.<PID>Func01E8(ICDFChargeSource p)
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at SoftPro.ClientModel.Collections.CollectionExtensions.MergeWith[T](IList`1 list, IEnumerable`1 other)
at CDFLine.<ValueImpl>AllSourcesForMe()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at CDFLine.<Value>AllSourcesForMe(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFLine.get_AllSourcesForMe()
at CDFLine.<ValueImpl>PendingSources()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at CDFLine.<Value>PendingSources(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFLine.get_PendingSources()
at CDFCharge.<ValueImpl>Source(ICDFChargeSource& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFCharge.<Value>Source(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.<ValueImpl>CostPaidMethod(CostPaidMethod& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>CostPaidMethod(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_CostPaidMethod()
at CDFDetailCharge.<ValueImpl>BuyerPaidAtClosing(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>BuyerPaidAtClosing(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_BuyerPaidAtClosing()
at CDFDetailCharge.<ValueImpl>Amount(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>Amount(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_Amount()
at PrepaidDetailCharge.<ValueImpl>SendCharge(Boolean& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at PrepaidDetailCharge.<Value>SendCharge(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at PrepaidDetailCharge.get_SendCharge()
at CDFLine.<CTX>01E7.<PID>Func01E8(ICDFChargeSource p)
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at SoftPro.ClientModel.Collections.CollectionExtensions.MergeWith[T](IList`1 list, IEnumerable`1 other)
at CDFLine.<ValueImpl>AllSourcesForMe()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at CDFLine.<Value>AllSourcesForMe(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFLine.get_AllSourcesForMe()
at CDFLine.<ValueImpl>PendingSources()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at CDFLine.<Value>PendingSources(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFLine.get_PendingSources()
at CDFCharge.<ValueImpl>Source(ICDFChargeSource& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFCharge.<Value>Source(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.<ValueImpl>CostPaidMethod(CostPaidMethod& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>CostPaidMethod(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_CostPaidMethod()
at CDFDetailCharge.<ValueImpl>BuyerPaidAtClosing(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>BuyerPaidAtClosing(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_BuyerPaidAtClosing()
at CDFDetailCharge.<ValueImpl>Amount(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at CDFDetailCharge.<Value>Amount(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at CDFDetailCharge.get_Amount()
at PrepaidDetailCharge.<ValueImpl>SendCharge(Boolean& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at PrepaidDetailCharge.<Value>SendCharge(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at PrepaidDetailCharge.get_SendCharge()
at CDF.<CTX>00CB.<PID>Func00CC(ICDFChargeSource p)
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at CDF.<ValueImpl>Lines()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at CDF.<Value>Lines(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at DueFromBuyerSummarySection.<ValueImpl>Lines()
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule(IField field, Rule rule)
at DueFromBuyerSummarySection.<Value>Lines(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at DueFromBuyerSummarySection.<ValueImpl>Total(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at DueFromBuyerSummarySection.<Value>Total(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.Field`1.get_Value()
at DueFromBuyerSummarySection.get_Total()
at BuyerCashToCloseSummaryCharge.<ValueImpl>Amount(Decimal& )
at SoftPro.EntityModel.Reflection.RuleHelper.RunValueRule[T](IField`1 field, Rule`1 rule)
at BuyerCashToCloseSummaryCharge.<Value>Amount(Object )
at SoftPro.EntityModel.RuleInstance.Run()
at SoftPro.EntityModel.EntityExecutionContext.RunRules()
at SoftPro.EntityModel.EntityExecutionContext.Dispose(Boolean completed)
at SoftPro.EntityModel.EntityExecutionContext.Scope.Dispose()
at SoftPro.EntityModel.EntityRuntime.Deserialize(Stream stream, Boolean readOnly)
at SoftPro.EntityModel.EntityRuntime.Load(Stream stream, SerializationFormat format, Boolean readOnly)
at SoftPro.OrderTracking.Client.Orders.OrderStoreProvider.Load(MemoryStream memory, OrderEditMode mode)
at SoftPro.OrderTracking.Client.Orders.OrderStore.OpenOrder(OrderIdentifier id, OrderEditMode mode)
at SoftPro.OrderTracking.Client.Orders.OrderStore.SoftPro.OrderTracking.Client.Orders.IOrderStore.OpenOrder(IOrderInfo orderInfo, OrderEditMode mode)
at SoftPro.OrderTracking.Client.Orders.OrderStore.SoftPro.OrderTracking.Client.Orders.IOrderStore.OpenOrder(IOrderInfo orderInfo, Boolean readOnly)