public static void Initialize(IServiceProvider serviceProvider) { using (var context = new CodingTestDbContext( serviceProvider.GetRequiredService <DbContextOptions <CodingTestDbContext> >())) { // Look for any Categories. if (context.Categories.Any()) { return; } context.Categories.AddRange( new Category { CategoryId = 1, CategoryName = "Government" }, new Category { CategoryId = 2, CategoryName = "Corporate Customer" }, new Category { CategoryId = 3, CategoryName = "Individual" }); context.SaveChanges(); } }
public CustomerViewModel UpdateCustomer(CustomerViewModel model) { // Ensure the correct category is set model.Customer.Category = _dbContext.Categories.Find(model.Customer.Category?.CategoryId); try { // Either Update or Insert product if (model.PageMode == Constants.EDIT) { _dbContext.Entry(model.Customer).State = EntityState.Modified; _dbContext.SaveChanges(); } else if (model.PageMode == Constants.ADD) { _dbContext.Customers.Add(model.Customer); _dbContext.SaveChanges(); } // Get all the data again in case anything changed model.Customers = _dbContext.Customers.OrderBy(p => p.CategoryId).ToList(); model.SearchCategories = _dbContext.Categories.OrderBy(p => p.CategoryName).ToList(); // Add category for 'Search All' Category category = new Category(); category.CategoryId = 0; category.CategoryName = "-- Search All Categories --"; model.SearchCategories.Insert(0, category); model.SearchEntity = new CustomerSearch(); model.IsValid = true; SetUIState(model, Constants.LIST); } catch (ValidationException ex) { model.IsValid = false; // TODO: Validation errors // Set page state SetUIState(model, model.PageMode); } return(model); }