Example #1
0
        public ExecuteResult <ProductInfoResponse> DestroyProduct(DestroyProductRequest request)
        {
            if (request == null)
            {
                return(new ExecuteResult <ProductInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "参数错误"
                });
            }

            var entity = _productRepository.GetItem(request.ProductId);

            if (entity == null)
            {
                return(new ExecuteResult <ProductInfoResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "参数错误,没有找到指定product"
                });
            }

            entity.UpdatedDate = DateTime.Now;
            entity.UpdatedUser = request.AuthUid;
            entity.Status      = (int)DataStatus.Deleted;

            _productRepository.Update(entity);

            return(new ExecuteResult <ProductInfoResponse>(MappingManager.ProductInfoResponseMapping(entity)));
        }
        public ActionResult Destroy(FormCollection formCollection, DestroyProductRequest request, int?authuid, UserModel authUser, [FetchProduct(KeyName = "productid", IsCanMissing = true)] ProductEntity entity)
        {
            if (entity == null || authUser == null)
            {
                return(new RestfulResult()
                {
                    Data = new ExecuteResult {
                        StatusCode = StatusCode.ClientError, Message = "参数错误"
                    }
                });
            }

            //达人只能删除自己的商品,
            //店长 可以删除自己店铺下的商品
            //运营 管理员权限的用户才可以删除他人的商品
            var t = false;

            //3
            if (((authUser.UserRole & (int)UserRole.Admin) != 0))
            {
                t = true;
            }
            else
            {
                if (authUser.Id == entity.RecommendUser && (authUser.Level & UserLevel.Daren) != 0)
                {
                    t = true;
                }
            }
            request.AuthUid  = authuid.Value;
            request.AuthUser = authUser;

            return(t ? new RestfulResult {
                Data = this._productDataService.DestroyProduct(request)
            } : new RestfulResult {
                Data = new ExecuteResult {
                    StatusCode = StatusCode.ClientError, Message = "您没有权限操作他人的商品"
                }
            });
        }