Пример #1
0
        public async Task <bool> Handle(DeleteGoodsCommand request, CancellationToken cancellationToken)
        {
            var goods = (await _goodsRepository.FindAsync(x => x.Id == request.Id).ConfigureAwait(false)).Data;

            if (goods == null)
            {
                throw new DomainException(ErrorType.GoodsDoesNotExist);
            }

            _goodsRepository.Delete(goods);
            await _goodsRepository.SaveAsync().ConfigureAwait(false);

            return(true);
        }
Пример #2
0
        public async Task <BaseApiResponse> Delete(DeleteRequest request)
        {
            request.CheckNotNull(nameof(request));
            //判断
            var goods = _goodsQueryService.GetGoodsAlias(request.Id);

            if (goods == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该商品"
                });
            }
            //删除
            var command = new DeleteGoodsCommand(request.Id);
            var result  = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "删除失败{0},可能商品存在预定,无法删除".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
Пример #3
0
 public void Handle(ICommandContext context, DeleteGoodsCommand command)
 {
     context.Get <Goods>(command.AggregateRootId).Delete();
 }