Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }