Esempio n. 1
0
        public bool Validate(OrderInfo order, out string errorMsg)
        {
            if (order.CouponCodeSysNo.HasValue && order.CouponCodeSysNo > 0)
            {
                if (order.SubOrderList == null || order.SubOrderList.Count <= 0)
                {
                    if (order.SOType == (int)SOType.GroupBuy)
                    {
                        errorMsg = LanguageHelper.GetText("团购订单不能使用优惠券", order.LanguageCode);
                        return(false);
                    }
                }
                else if (order.SubOrderList.Any(x => x.Value.SOType == (int)SOType.GroupBuy))
                {
                    errorMsg = LanguageHelper.GetText("团购订单不能使用优惠券", order.LanguageCode);
                    return(false);
                }

                int quantity = PipelineDA.GetCouponCodeUseQuantity(order.CouponCodeSysNo.Value);
                if (quantity == 0)
                {
                    errorMsg = LanguageHelper.GetText("优惠券数量不足", order.LanguageCode);
                    return(false);
                }

                quantity = PipelineDA.CouponSaleRulesExUserQuantity(order.CouponCodeSysNo.Value);
                if (quantity == 0)
                {
                    errorMsg = LanguageHelper.GetText("优惠券数量不足", order.LanguageCode);
                    return(false);
                }
            }
            errorMsg = null;
            return(true);
        }