static async Task MainAsync(string[] args) { using (var customersApi = new CustomersApi()) using (var transactionsApi = new TransactionsApi()) using (var accountsApi = new AccountsApi()) { var taskApi = new AzureFamilyDatabase(); await taskApi.CreateTask(123200000, 123230000, "Mow The Lawn", 5.00M); var accountId = 152300000; var response = await customersApi.MakeRequestAsync(new CustomerApiRequest { AccountId = accountId }); var account = await accountsApi.MakeRequestAsync(new AccountApiRequest { AccountId = accountId }); var primary = account.Single().PrimaryCustomerId; var random = new Random(); var now = DateTimeOffset.UtcNow; foreach (var customer in response.Single().Customers) { var accountTransactions = await transactionsApi.MakeRequestAsync(new TransactionApiRequest { CustomerId = customer.CustomerId }); var transactions = accountTransactions .Single().CustomerTransactions .Single().Transactions; var lowerBounds = random.Next(25, 250); var upperBounds = lowerBounds + (lowerBounds * random.NextDouble()) + random.Next(0, 25); // await taskApi.UpdateCreditLimitRange(accountId, customer.CustomerId, (decimal)lowerBounds, (decimal)Math.Round(upperBounds, 0)); var balance = 0M; foreach (var transaction in transactions.Where(t => t.ToDateTimeOffset().AddDays(30) > now)) { balance += transaction.Amount; var taskDescriptions = new[] { "Random Task" }; var tasks = new List <(decimal value, string description, DateTimeOffset when)>(); Console.WriteLine($"++ {customer.FirstName} {transaction.Amount:C}"); await taskApi.CreateTask( accountId : accountId, creator : primary, description : $"Paid back for transaction for {transaction.MerchantName}", value : transaction.Amount, whenCompleted : transaction.ToDateTimeOffset().AddDays(random.Next(0, 10)), whenCreated : transaction.ToDateTimeOffset(), completedBy : customer.CustomerId); await Task.Delay(TimeSpan.FromSeconds(0.5)); } } Console.ReadLine(); } }