// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, CustomerManagerContext _customerManagerContext) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); /* DB Context calls this method to seed the Master data in the related tables */ _customerManagerContext.EnsureSeedDataForContext(); /* For the Http Status code pages */ app.UseStatusCodePages(); // Shows UseCors with CorsPolicyBuilder. app.UseCors(builder => { builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader(); }); app.UseMvc(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } }
internal static void Initialize(CustomerManagerContext 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); } context.Cameras.AddRange(cameras); //context.CustomerCameras.AddRange(customerCameras); //Generate customers and orders for (int i = 0; i < customerNames.Length; i++) { var nameGenderHost = SplitValue(customerNames[i]); var cityState = SplitValue(citiesStates[i]); var cust = new Customer { 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, IsAdmin = i == 0, UserName = "******" + i + "@gmail.com", Password = "******", Gender = (Gender)Enum.Parse(typeof(Gender), nameGenderHost[2]), Cameras = new Collection<Camera>() }; if (i == 0) { foreach (var cam in cameras) { cust.Cameras.Add(cam); } } 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 static void EnsureSeedDataForContext(this CustomerManagerContext context) { if (context.Customers.Any()) { return; } 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); // context.SaveChanges(); } //Generate customers and orders for (int i = 0; i < customerNames.Length; i++) { var nameGenderHost = SplitValue(customerNames[i]); var cityState = SplitValue(citiesStates[i]); var cust = new Customer { //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.Customers.Add(cust); //context.SaveChanges(); //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); //context.SaveChanges(); } } context.SaveChanges(); }
public DataServiceController() { _Context = new CustomerManagerContext(); //System.Threading.Thread.Sleep(5000); }