static async Task CreateDataAsync(DateTime date, int ordersLimitPerDay) { var random = new Random(); var warehouseService = ServiceMocker.GetWarehouseService(); var salesService = ServiceMocker.GetSalesService(); var customers = (await salesService.GetCustomersAsync()).Model.ToList(); var currencies = (await salesService.GetCurrenciesAsync()).Model.ToList(); var paymentMethods = (await salesService.GetPaymentMethodsAsync()).Model.ToList(); var products = (await warehouseService.GetProductsAsync()).Model.ToList(); Logger.LogInformation("Creating orders for {0}", date); for (var i = 0; i < ordersLimitPerDay; i++) { var header = new OrderHeader { OrderDate = date, CreationDateTime = date }; var selectedCustomer = random.Next(0, customers.Count - 1); var selectedCurrency = random.Next(0, currencies.Count - 1); var selectedPaymentMethod = random.Next(0, paymentMethods.Count - 1); header.CustomerID = customers[selectedCustomer].CustomerID; header.CurrencyID = currencies[selectedCurrency].CurrencyID; header.PaymentMethodID = paymentMethods[selectedPaymentMethod].PaymentMethodID; var details = new List <OrderDetail>(); var detailsCount = random.Next(1, 5); for (var j = 0; j < detailsCount; j++) { var detail = new OrderDetail { ProductID = products[random.Next(0, products.Count - 1)].ProductID, Quantity = (short)random.Next(1, 5) }; if (details.Count > 0 && details.Count(item => item.ProductID == detail.ProductID) == 1) { continue; } details.Add(detail); } await salesService.CreateOrderAsync(header, details.ToArray()); Logger.LogInformation("Date: {0}", date); } warehouseService.Dispose(); salesService.Dispose(); }
static async Task MainAsync(string[] args) { var salesService = ServiceMocker.GetSalesService(); var customers = (await salesService.GetCustomersAsync()).Model.ToList(); foreach (var item in customers) { Console.WriteLine(String.Format("CustomerID {0}", item.CustomerID)); Console.ReadKey(); } /// salesService.Dispose(); }