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); }
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()); }
public void Handle(ICommandContext context, DeleteGoodsCommand command) { context.Get <Goods>(command.AggregateRootId).Delete(); }