private void FillOrdersScripts(EFOrderRepository repository) { foreach (string file in _files) { RunCommand(repository, file, "Orders"); } }
private void CreateOrders(EFOrderRepository repository) { var paymentMethods = repository.PaymentMethods.ToList(); var customerId = 1; var rnd = new Random(); for (var i = 0; i < _customers.Length - 1; i++) // 20 customers, with 2 orders each { for (var index = 0; index < 2; index++) { var order = MockOrderBuilder.BuildOrder() .WithAddresses() .WithPayments(paymentMethods) .WithShipment() .WithLineItemsCount(2 + rnd.Next(5)) .WithReturns() .WithStatus("InProgress") .WithCustomer(customerId.ToString(CultureInfo.InvariantCulture), _customers[i]) // .WithOrderFormPropertyValues() .GetOrder(); order.StoreId = "SampleStore"; order.OrderForms[0].Shipments[0].ShippingAddressId = order.OrderAddresses[1].OrderAddressId; repository.Add(order); } repository.UnitOfWork.Commit(); customerId++; } }
public override void Publish(string dbconnection, string data, bool sample, string strategy = SqlDbConfiguration.SqlAzureExecutionStrategy) { base.Publish(dbconnection, data, sample, strategy); var connection = dbconnection; SafeWriteDebug("ConnectionString: " + connection); using (var db = new EFOrderRepository(connection)) { if (sample) { SafeWriteVerbose("Running sample scripts"); new SqlOrderSampleDatabaseInitializer().InitializeDatabase(db); } else { SafeWriteVerbose("Running minimum scripts"); new SqlOrderDatabaseInitializer().InitializeDatabase(db); } } }
protected override void Seed(EFOrderRepository context) { base.Seed(context); CreateOrders(context); FillOrdersScripts(context); }
public void Dispose() { try { // Ensure LocalDb databases are deleted after use so that LocalDb doesn't throw if // the temp location in which they are stored is later cleaned. using (var context = new EFOrderRepository(TestDSOrderService.DatabaseName)) { context.Database.Delete(); } if (_Service != null) { _Service.Dispose(); } } finally { AppDomain.CurrentDomain.SetData("DataDirectory", _previousDataDirectory); } }