public RestfulResult Coupon(FormCollection formCollection, PromotionCouponCreateRequest request, int?authuid, UserModel authUser)
        {
            request.AuthUid  = authuid.Value;
            request.AuthUser = authUser;
            if (System.String.Compare(request.Method, DefineRestfulMethod.Create, System.StringComparison.OrdinalIgnoreCase) == 0)
            {
                var result =
                    this._promotionDataService.CreateCoupon(request);

                if (request.IsPass == 1 && result.Data != null && result.Data.CouponCodeResponse != null)
                {
                    var code = result.Data.CouponCodeResponse;
                    result.Data.CouponCodeResponse.Pass = _passHelper.GetPass(ControllerContext.HttpContext, code.Id,
                                                                              code.CouponId, code.User_Id);

                    //result.Data.CouponCodeResponse.Pass = PassController.GetPass(ControllerContext, result.Data.CouponCodeResponse.Id,
                    //                                                             result.Data.CouponCodeResponse.CouponId,
                    //                                                             result.Data.CouponCodeResponse
                    //                                                                   .ProductName,
                    //                                                             result.Data.CouponCodeResponse
                    //                                                                   .ProductDescription, null, result.Data.CouponCodeResponse.User_Id);
                }

                return(new RestfulResult
                {
                    Data = result
                });
            }

            return(new RestfulResult {
                Data = new ExecuteResult {
                    StatusCode = StatusCode.ClientError, Message = "参数错误"
                }
            });
        }
        /// <summary>
        /// 创建优惠卷
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExecuteResult <PromotionInfoResponse> CreateCoupon(PromotionCouponCreateRequest request)
        {
            var str = _promotionService.Verification(request);

            if (!String.IsNullOrEmpty(str))
            {
                return(new ExecuteResult <PromotionInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = str
                });
            }

            ExecuteResult <CouponCodeResponse> coupon = null;

            coupon = _couponDataService.CreateCoupon(new CouponCouponRequest
            {
                AuthUid        = request.AuthUid,
                SourceId       = request.PromotionId,
                SourceType     = (int)SourceType.Promotion,
                Token          = request.Token,
                AuthUser       = request.AuthUser,
                Method         = request.Method,
                Client_Version = request.Client_Version
            });

            if (!coupon.IsSuccess)
            {
                return(new ExecuteResult <PromotionInfoResponse>(null)
                {
                    Message = coupon.Message,
                    StatusCode = coupon.StatusCode
                });
            }

            var promotionEntity = _promotionRepository.GetItem(request.PromotionId);

            promotionEntity = _promotionRepository.SetCount(PromotionCountType.InvolvedCount, promotionEntity.Id, 1);

            var re = MappingManager.PromotionResponseMapping(promotionEntity);

            re.CouponCodeResponse = coupon.Data;

            re = IsR(re, request.AuthUser, request.AuthUser.Id);

            return(new ExecuteResult <PromotionInfoResponse> {
                Data = re
            });
        }
示例#3
0
        public string Verification(PromotionCouponCreateRequest request)
        {
            var    promotionEntity = _promotionRepository.GetItem(request.PromotionId);
            string err             = Verification(promotionEntity);

            if (!string.IsNullOrEmpty(err))
            {
                return(err);
            }
            if (promotionEntity.IsLimitPerUser.HasValue &&
                promotionEntity.IsLimitPerUser.Value)
            {
                var existCoupon = _couponRepo.Get(c => c.FromPromotion == request.PromotionId && c.User_Id == request.AuthUser.Id && c.Status != (int)DataStatus.Deleted).FirstOrDefault();
                if (existCoupon != null)
                {
                    return("该优惠活动每人限领一次,您已经领过了。");
                }
            }
            return(null);
        }