/// <summary> /// 计算手续费 /// </summary> /// <param name="order"></param> private void CalculateCommissionAmount(OrderInfo order) { //先计算子单的手续费 PayTypeInfo payTypeInfo = PipelineDA.GetPayTypeBySysNo(order.PayTypeID); order.PayTypeName = payTypeInfo.PayTypeName; foreach (KeyValuePair <string, OrderInfo> sub in order.SubOrderList) { sub.Value.CommissionAmount = decimal.Round(payTypeInfo.PayRate * sub.Value.CashPayAmount, 2, MidpointRounding.AwayFromZero); sub.Value.PayTypeName = payTypeInfo.PayTypeName; } order.CommissionAmount = order.SubOrderList.Sum(subOrder => subOrder.Value.CommissionAmount); }
private bool InnerValidate(OrderInfo order, out string errorMsg) { if (string.IsNullOrEmpty(order.PayTypeID)) { errorMsg = "请选择一种支付方式"; return(false); } PayTypeInfo payTypeInfo = PipelineDA.GetPayTypeBySysNo(order.PayTypeID); if (payTypeInfo == null) { errorMsg = "不支持您选择的支付方式,请重新选择"; return(false); } errorMsg = null; return(true); }