コード例 #1
0
        public async Task <BaseApiResponse> ApplyReturnAndRefund(ApplyRefundRequest request)
        {
            request.CheckNotNull(nameof(request));

            var command = new ApplyReturnAndRefundCommand(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, ApplyReturnAndRefundCommand command)
 {
     context.Get <StoreOrder>(command.AggregateRootId).ApplyReturnAndRefund(new Domain.Models.Stores.StoreOrders.RefundApplyInfo(command.Reason,
                                                                                                                                 command.RefundAmount));
 }