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); var sortedStates = states.OrderBy(s => s.Name); foreach (var state in sortedStates) { context.States.Add(state); } //Generate users and orders for (int i = 0; i < userNames.Length; i++) { var nameGenderHost = SplitValue(userNames[i]); var cityState = SplitValue(citiesStates[i]); var cust = new User { Id = i + 1, FirstName = nameGenderHost[0], LastName = nameGenderHost[1], Email = String.Format("{0}.{1}@{2}", nameGenderHost[0], nameGenderHost[1], nameGenderHost[3]), Address = addresses[i], City = cityState[0], State = sortedStates.Where(state => state.Abbreviation == cityState[1]).SingleOrDefault(), Zip = zip + i, Gender = (Gender)Enum.Parse(typeof(Gender), nameGenderHost[2]) }; context.Users.Add(cust); //Generate user 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.UserId = cust.Id; context.Orders.Add(custOrder); } } }
public UserRepository() { _Context = new UserManagerContext(); //System.Threading.Thread.Sleep(5000); }