예제 #1
0
        public ExecuteResult<CouponInfoResponse> Get(CouponInfoGetRequest request)
        {
            if (request == null)
            {
                return new ExecuteResult<CouponInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" };
            }

            var entity = this._couponRepository.GetItem(request.CouponId);

            if (entity.User_Id == request.AuthUid && entity.CouponId == request.CouponCode)
            {
                return new ExecuteResult<CouponInfoResponse>(MappingManager.CouponInfoResponseMapping(entity));
            }

            return new ExecuteResult<CouponInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "您不能领取他人的优惠券" };
        }
예제 #2
0
        public ActionResult Detail(CouponInfoGetRequest request, int? authuid, UserModel authUser)
        {
            request.AuthUser = authUser;
            if (request == null)
                return new RestfulResult { Data = new ExecuteResult<CouponInfoResponse>(null) };
            var linq = _couponRepo.Get(c => c.User_Id == authUser.Id && c.Status != (int)CouponStatus.Deleted);
            var linq2 = linq.GroupJoin(_productRepo.GetAll(), o => o.FromProduct, i => i.Id, (o, i) => new { C = o, Pd = i })
                           .GroupJoin(_promotionRepo.GetAll(), o => o.C.FromPromotion, i => i.Id, (o, i) => new { C = o.C, Pd = o.Pd, Pr = i });
            var responseData = from l in linq2.ToList()
                               select new CouponInfoResponse().FromEntity<CouponInfoResponse>(l.C,
                                            c =>
                                            {
                                                var prod = l.Pd.FirstOrDefault();
                                                if (prod != null)
                                                {
                                                    c.ProductInfoResponse = new ProductInfoResponse().FromEntity<ProductInfoResponse>(prod);
                                                    c.ProductId = c.ProductInfoResponse.Id;
                                                    c.ProductName = c.ProductInfoResponse.Name;
                                                    c.ProductDescription = c.ProductInfoResponse.Description;
                                                }
                                                var pro = l.Pr.FirstOrDefault();
                                                if (pro != null)
                                                {
                                                    c.PromotionInfoResponse = new PromotionInfoResponse().FromEntity<PromotionInfoResponse>(pro);

                                                }
                                            });
            return new RestfulResult { Data = new ExecuteResult<CouponInfoResponse>(responseData.FirstOrDefault()) };
        }