Пример #1
0
        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());
        }
Пример #2
0
 public void Handle(ICommandContext context, ApplyRefundCommand command)
 {
     context.Get <StoreOrder>(command.AggregateRootId).ApplyRefund(new Domain.Models.Stores.StoreOrders.RefundApplyInfo(command.Reason,
                                                                                                                        command.RefundAmount));
 }