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 = "您不能领取他人的优惠券" }); }
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()) }); } }