public Task <AsyncTaskResult> HandleAsync(AccountValidateFailedMessage message)
 {
     return(_commandService.SendAsync(new CancelTransferTransactionCommand(message.TransactionId)
     {
         Id = message.Id, Items = message.Items
     }));
 }
        public Task <AsyncTaskResult <IApplicationMessage> > HandleAsync(ValidateAccountCommand command)
        {
            var applicationMessage = default(ApplicationMessage);

            //此处应该会调用外部接口验证账号是否合法,这里仅仅简单通过账号是否以INVALID字符串开头来判断是否合法;根据账号的合法性,返回不同的应用层消息
            if (command.AggregateRootId.StartsWith("INVALID"))
            {
                applicationMessage = new AccountValidateFailedMessage(command.AggregateRootId, command.TransactionId, "账户不合法.");
            }
            else
            {
                applicationMessage = new AccountValidatePassedMessage(command.AggregateRootId, command.TransactionId);
            }

            return(Task.FromResult(new AsyncTaskResult <IApplicationMessage>(AsyncTaskStatus.Success, applicationMessage)));
        }
Beispiel #3
0
 public async Task HandleAsync(AccountValidateFailedMessage message)
 {
     if (message.TransactionType == (byte)TransactionTypes.TransferTransaction)
     {
         await _commandService.SendAsync(new AddTransferPreCommitFailParticipantCommand
         {
             Id              = message.Id,
             Items           = message.Items,
             AggregateRootId = message.TransactionId,
             TransactionId   = message.TransactionId,
             TransactionType = message.TransactionType,
             ParticipantId   = message.AccountId,
             ParticipantType = (byte)AggregateRootTypes.BankAccount
         });
     }
 }
        public Task HandleAsync(ICommandContext context, ValidateAccountCommand command)
        {
            var applicationMessage = default(ApplicationMessage);

            //此处应该会调用外部接口验证账号是否合法,这里仅仅简单通过账号是否以INVALID字符串开头来判断是否合法;根据账号的合法性,返回不同的应用层消息
            if (command.AggregateRootId.StartsWith("INVALID"))
            {
                applicationMessage = new AccountValidateFailedMessage(command.AggregateRootId, command.TransactionId, command.TransactionType, command.PreparationType, "账户不合法.");
            }
            else
            {
                applicationMessage = new AccountValidatePassedMessage(command.AggregateRootId, command.TransactionId, command.TransactionType, command.PreparationType, command.Amount);
            }

            context.SetApplicationMessage(applicationMessage);
            return(Task.CompletedTask);
        }
 public Task HandleAsync(AccountValidateFailedMessage message)
 {
     Console.WriteLine("无效的银行账户,交易ID:{0},账户:{1},理由:{2}", message.TransactionId, message.AccountId, message.Reason);
     return(Task.CompletedTask);
 }
Beispiel #6
0
 public Task <AsyncTaskResult> HandleAsync(AccountValidateFailedMessage message)
 {
     Console.WriteLine("无效的银行账户,交易ID:{0},账户:{1},理由:{2}", message.TransactionId, message.AccountId, message.Reason);
     return(Task.FromResult(AsyncTaskResult.Success));
 }
Beispiel #7
0
 public Task HandleAsync(AccountValidateFailedMessage message)
 {
     _logger.InfoFormat("无效的银行账户,交易ID:{0},账户:{1},理由:{2}", message.TransactionId, message.AccountId, message.Reason);
     return(Task.CompletedTask);
 }
 public async Task HandleAsync(AccountValidateFailedMessage message)
 {
     await _commandService.SendAsync(new CancelTransferTransactionCommand(message.TransactionId) { Id = message.Id, Items = message.Items });
 }