/// <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);
        }
Example #2
0
        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);
        }