internal static void Initialize(UserManagerContext context) { var random = new Random((int)DateTime.Now.Ticks); var randomOrder = new Random((int)DateTime.Now.Ticks); var randomQuantity = new Random((int)DateTime.Now.Ticks); // Use a connection string. var db = new DataClassesDataContext(ConfigurationManager.ConnectionStrings["ApiConnectionString"].ConnectionString); var sortedStates = states.OrderBy(s => s.Name); foreach (var state in sortedStates) { context.States.Add(state); } var usersList = db.tblUsers.ToList(); //Generate customers and orders for (int i = 0; i < usersList.Count(); i++) { var user = usersList[i]; var cityState = SplitValue(citiesStates[i]); var cust = new User { Id = i + 1, FirstName = user.FirstName, LastName = user.LastName, Email = String.Format("{0}.{1}@{2}", user.FirstName, user.LastName, user.Email), Address = addresses[i], City = cityState[0], State = sortedStates.Where(state => state.Abbreviation == cityState[1]).SingleOrDefault(), Zip = zip + i, Gender = (Gender)Enum.Parse(typeof(Gender), user.Gender) }; context.Customers.Add(cust); //Generate customer orders var numToGrab = random.Next(orders.Count - 1); var custOrders = new List <Order>(); for (int j = 0; j < numToGrab; j++) { var orderPosition = randomOrder.Next(orders.Count - 1); custOrders.Add(orders[orderPosition]); } foreach (var order in custOrders) { var quantity = randomQuantity.Next(5); var multiplier = (quantity % 2 == 0) ? 1 : -1; var custOrder = order.Clone(); custOrder.Quantity = (quantity == 0) ? 1 : quantity; custOrder.Date = DateTime.Now.AddDays(randomQuantity.Next(30) * multiplier); custOrder.CustomerId = cust.Id; context.Orders.Add(custOrder); } } }
public UserRepository() { _Context = new UserManagerContext(); //System.Threading.Thread.Sleep(5000); }