示例#1
0
 public IActionResult Transfer(TransferTransactionRequest request)
 {
     if (isStopped)
     {
         return(StatusCode(500));
     }
     lock (theLock)
     {
         if (store.TryGetValue(request.AccountNumber, out List <Transaction> entries))
         {
             if (entries.Sum(o => o.Amount) < request.Amount)
             {
                 return(BadRequest());
             }
             var tx = new Transaction(-request.Amount);
             entries.Add(tx);
             return(Ok(new TransferTransactionResponse
             {
                 TransactionUN = tx.Id,
                 TransactionAUN = Guid.NewGuid().ToString(),
                 ProcessDate = DateTime.Today
             }));
         }
         return(NotFound());
     }
 }
        public async Task <AccountTransactionResult> TransferAsync(AccountTransaction transaction, CancellationToken cancellationToken = default)
        {
            var request = new TransferTransactionRequest()
            {
                Amount = transaction.Amount
            };
            var response = await ExtAccountClientService.TransferAsync(request);

            return(new AccountTransactionResult()
            {
            });
        }
        public async Task <TransferTransactionResponse> TransferAsync(TransferTransactionRequest request, CancellationToken cancellationToken = default)
        {
            var response = await PostJsonAsync <TransferTransactionResponse>("Account/Transfer", request, null, cancellationToken);

            return(response);
        }