/// <summary>
        /// 创建分享
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExecuteResult <PromotionInfoResponse> CreateShare(PromotionShareCreateRequest request)
        {
            var promotionEntity = _promotionRepository.GetItem(request.Promotionid);

            if (promotionEntity == null)
            {
                return(new ExecuteResult <PromotionInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "活动不存在"
                });
            }

            using (var ts = new TransactionScope())
            {
                _shareService.Create(new ShareHistoryEntity
                {
                    CreatedDate = DateTime.Now,
                    CreatedUser = request.AuthUid,
                    Description = request.Description,
                    Name        = request.Name,
                    ShareTo     = request.OutSiteType,
                    SourceId    = request.Promotionid,
                    SourceType  = (int)SourceType.Promotion,
                    Stauts      = 1,
                    User_Id     = request.AuthUid,
                    UpdatedDate = DateTime.Now,
                    UpdatedUser = request.AuthUid
                });


                //TODO
                promotionEntity = _promotionRepository.SetCount(PromotionCountType.ShareCount, promotionEntity.Id, 1);

                ts.Complete();
            }
            var re = MappingManager.PromotionResponseMapping(promotionEntity, request.CoordinateInfo);

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

            return(new ExecuteResult <PromotionInfoResponse> {
                Data = re
            });
        }
示例#2
0
        public ExecuteResult <ProductInfoResponse> CreateShare(CreateShareProductRequest request)
        {
            if (request == null)
            {
                return(new ExecuteResult <ProductInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "参数错误"
                });
            }
            var product = _productRepository.GetItem(request.ProductId);

            if (product == null)
            {
                return(new ExecuteResult <ProductInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "参数错误"
                });
            }

            _shareService.Create(new ShareHistoryEntity
            {
                CreatedDate = DateTime.Now,
                CreatedUser = request.AuthUid,
                Description = request.Description,
                Name        = request.Name,
                ShareTo     = (int)request.OsiteType,
                SourceId    = request.ProductId,
                SourceType  = (int)SourceType.Product,
                Stauts      = 1,
                User_Id     = request.AuthUid,
                UpdatedDate = DateTime.Now,
                UpdatedUser = request.AuthUid
            });

            //+1
            product = _productRepository.SetCount(ProductCountType.ShareCount, product.Id, 1);

            return(new ExecuteResult <ProductInfoResponse>(MappingManager.ProductInfoResponseMapping(product)));
        }
 public ActionResult <ShareDto> Post([FromBody] ShareDto dto)
 {
     _shareService.ValidatePostModel(dto);
     return(_shareService.Create(dto));
 }