public async static Task Deposit() { var client = new httpClientSerive(); var accountNumber = 0; decimal amount = 0; Console.WriteLine("Please input information as format: \"acount number - amount - currency\""); var input = Console.ReadLine(); while (true) { var items = input.Split("-").Select(p => p.Trim()).ToArray(); if (items.Count() == 3 && int.TryParse(items[0], out accountNumber) && decimal.TryParse(items[1], out amount)) { var result = await client.PostDeposit(new TransactionBaseRequest(accountNumber, amount, items[2])); Console.WriteLine("Result:"); Console.WriteLine(JsonConvert.SerializeObject(result)); break; } else { Console.WriteLine("Input data is wrong format. Please try again."); input = Console.ReadLine(); } } }
public async static Task CheckBalance() { var client = new httpClientSerive(); var accountNumber = 0; Console.WriteLine("Please input account number: "); var input = Console.ReadLine(); while (true) { if (int.TryParse(input, out accountNumber)) { var result = await client.GetBalance(accountNumber); Console.WriteLine("Resutl:"); Console.WriteLine(result); break; } else { Console.WriteLine("Account number is an interger. Please input account number again."); input = Console.ReadLine(); } } }
private async static Task <TransactionBaseResponse> TestDeposit(TransactionBaseRequest request) { var client = new httpClientSerive(); var response = await client.PostDeposit(request); Console.WriteLine("Deposit result: " + JsonConvert.SerializeObject(response)); return(response); }
public async static Task TestConcurrency() { var client = new httpClientSerive(); var tasks = new List <Task <TransactionBaseResponse> >(); var beforeBalance = await client.GetBalance(1); Console.WriteLine("balance before run:" + beforeBalance); for (int i = 1; i < 5; i++) { tasks.Add(TestDeposit(new TransactionBaseRequest(1, i * 100, "USD"))); tasks.Add(TestWithdraw(new TransactionBaseRequest(1, i * 50, "USD"))); tasks.Add(TestDeposit(new TransactionBaseRequest(1, i * 100, "MYR"))); tasks.Add(TestWithdraw(new TransactionBaseRequest(1, i * 50, "MYR"))); } await Task.WhenAll(tasks); var afterBalance = await client.GetBalance(1); Console.WriteLine("balance after run:" + afterBalance); }