public async Task <BaseApiResponse> ApplyRefund(ApplyRefundRequest request) { request.CheckNotNull(nameof(request)); var command = new ApplyRefundCommand(request.Reason, request.RefundAmount) { AggregateRootId = 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, ApplyRefundCommand command) { context.Get <StoreOrder>(command.AggregateRootId).ApplyRefund(new Domain.Models.Stores.StoreOrders.RefundApplyInfo(command.Reason, command.RefundAmount)); }