public IActionResult Post([FromBody] EmployeeComputer empcomp) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { Employee employee = _context.Employee.Single(g => g.EmployeeId == empcomp.EmployeeId); Computer computer = _context.Computer.Single(g => g.ComputerId == empcomp.ComputerId); if (employee == null || computer == null) { return(NotFound()); } _context.EmployeeComputer.Add(empcomp); _context.SaveChanges(); return(CreatedAtRoute("GetSingleComputer", new { id = empcomp.ComputerId }, empcomp)); } catch (System.InvalidOperationException ex) { return(NotFound()); } }
// Calls method to update current Emloyee Computer -- takes an argument of The selected ComputerID and the cuurent Employee private void UpdateEmployeeComputer(int SelectedComputerID, Employee employeeToUpdate) { // Grabs the current EmployeeComputer var CurrentCompAssignment = employeeToUpdate.EmployeeComputers.SingleOrDefault(m => m.DateUnassigned == null); // If the Employee has an Active Computer --> if (CurrentCompAssignment != null) { // If the newly selected ComputerID is not the current ComputerID Update the DateUnassigned and add a new row in the EmployeeComputer table if (SelectedComputerID != CurrentCompAssignment.Computer.ComputerID) { CurrentCompAssignment.DateUnassigned = DateTime.Now; var newAssignment = new EmployeeComputer() { EmployeeID = employeeToUpdate.EmployeeID, ComputerID = SelectedComputerID, DateAssigned = DateTime.Now }; _context.Update(CurrentCompAssignment); _context.Add(newAssignment); } } // If the Employee does not have an active computer, add the new computer to the EmployeeComputer Table else { var newAssignment = new EmployeeComputer() { EmployeeID = employeeToUpdate.EmployeeID, ComputerID = SelectedComputerID, DateAssigned = DateTime.Now }; _context.Add(newAssignment); } }
public IActionResult DeleteEmployeeTraining(int id) { EmployeeComputer empcomp = _context.EmployeeComputer.Single(p => p.EmployeeComputerId == id); if (empcomp == null) { return(NotFound()); } _context.EmployeeComputer.Remove(empcomp); _context.SaveChanges(); return(Ok(empcomp)); }
public IActionResult Post(int id, [FromBody] EmployeeComputer employeeComputer) { // Check if data matches the Model if (!ModelState.IsValid) { // return 404 if not matching return(BadRequest(ModelState)); } // Check the DB to ensure the tables Employee and Computer exist Employee employee = _context.Employee.Single(e => e.EmployeeId == id); Computer computer = _context.Computer.Single(c => c.ComputerId == employeeComputer.ComputerId); // return 404 if none found if (employee == null || computer == null) { return(NotFound()); } _context.EmployeeComputer.Add(employeeComputer); _context.SaveChanges(); return(CreatedAtRoute("GetSingleProduct", new { id = employeeComputer.EmployeeId }, employee)); }
public static void Initialize(IServiceProvider serviceProvider) { using (var context = new BangazonContext(serviceProvider.GetRequiredService <DbContextOptions <BangazonContext> >())) { if (context.Customer.Any()) { return; //db is already seeded } var customer = new Customer[] { new Customer { FirstName = "Gucci", LastName = "Mane" }, new Customer { FirstName = "Riff", LastName = "Raff" }, new Customer { FirstName = "Wacka Flocka", LastName = "Flame" } }; foreach (Customer i in customer) { context.Customer.Add(i); } context.SaveChanges(); var productsType = new ProductType[] { new ProductType { ProductTypeName = "Sports" }, new ProductType { ProductTypeName = "Toys" } }; foreach (ProductType i in productsType) { context.ProductType.Add(i); } context.SaveChanges(); var products = new Product[] { new Product { ProductTypeId = productsType.Single(s => s.ProductTypeName == "Sports").ProductTypeId, Price = 50.00, Title = "Baseball Glove", Description = "This glove will help you catch baseballs.", CustomerId = customer.Single(s => s.FirstName == "Wacka Flocka").CustomerId }, new Product { ProductTypeId = productsType.Single(s => s.ProductTypeName == "Sports").ProductTypeId, Price = 30.00, Title = "Basketball", Description = "Learn to dunk!", CustomerId = customer.Single(s => s.FirstName == "Riff").CustomerId }, new Product { ProductTypeId = productsType.Single(s => s.ProductTypeName == "Toys").ProductTypeId, Price = 10.00, Title = "Teddy Bear", Description = "Get it for the kids.", CustomerId = customer.Single(s => s.FirstName == "Wacka Flocka").CustomerId }, new Product { ProductTypeId = productsType.Single(s => s.ProductTypeName == "Toys").ProductTypeId, Price = 5.00, Title = "Coloring Book", Description = "Stay in the lines. Or don't. Its up to you.", CustomerId = customer.Single(s => s.FirstName == "Gucci").CustomerId } }; foreach (Product i in products) { context.Product.Add(i); } context.SaveChanges(); var paymentTypes = new PaymentType[] { new PaymentType { CustomerId = customer.Single(s => s.FirstName == "Gucci").CustomerId, AccountNumber = 2, PaymentTypeName = "Cash", }, new PaymentType { CustomerId = customer.Single(s => s.FirstName == "Riff").CustomerId, AccountNumber = 3, PaymentTypeName = "Visa", }, new PaymentType { CustomerId = customer.Single(s => s.FirstName == "Wacka Flocka").CustomerId, AccountNumber = 4, PaymentTypeName = "Mastercard", } }; foreach (PaymentType i in paymentTypes) { context.PaymentType.Add(i); } context.SaveChanges(); var orders = new Order[] { new Order { CustomerId = customer.Single(s => s.FirstName == "Wacka Flocka").CustomerId, // PaymentTypeId = paymentTypes.Single(s => s.PaymentTypeName == "Cash").PaymentTypeId, }, new Order { CustomerId = customer.Single(s => s.FirstName == "Riff").CustomerId, // PaymentTypeId = paymentTypes.Single(s => s.PaymentTypeName == "Visa").PaymentTypeId, }, new Order { CustomerId = customer.Single(s => s.FirstName == "Gucci").CustomerId, // PaymentTypeId = paymentTypes.Single(s => s.PaymentTypeName == "Mastercard").PaymentTypeId, } }; foreach (Order i in orders) { context.Order.Add(i); } context.SaveChanges(); var orderProduct = new OrderProduct[] { new OrderProduct { OrderId = 1, ProductId = products.Single(s => s.Title == "Baseball Glove").ProductId }, new OrderProduct { OrderId = 1, ProductId = products.Single(s => s.Title == "Teddy Bear").ProductId }, new OrderProduct { OrderId = 2, ProductId = products.Single(s => s.Title == "Basketball").ProductId }, new OrderProduct { OrderId = 3, ProductId = products.Single(s => s.Title == "Coloring Book").ProductId } }; foreach (OrderProduct i in orderProduct) { context.OrderProduct.Add(i); } context.SaveChanges(); var departments = new Department[] { new Department { DeptName = "Sporting Goods", ExpenseBudget = 1500 }, new Department { DeptName = "Toy Department", ExpenseBudget = 1250 } }; foreach (Department i in departments) { context.Department.Add(i); } context.SaveChanges(); var employees = new Employee[] { new Employee { EmployeeName = "A$AP Ferg", EmployeePhone = "212-555-1212", DepartmentId = departments.Single(s => s.DeptName == "Sporting Goods").DepartmentId, IsSupervisor = false, }, new Employee { EmployeeName = "A$AP Rocky", EmployeePhone = "212-555-1213", DepartmentId = departments.Single(s => s.DeptName == "Sporting Goods").DepartmentId, IsSupervisor = true, }, new Employee { EmployeeName = "A$AP Nast", EmployeePhone = "212-555-1214", DepartmentId = departments.Single(s => s.DeptName == "Toy Department").DepartmentId, IsSupervisor = false, } }; foreach (Employee i in employees) { context.Employee.Add(i); } context.SaveChanges(); var computers = new Computer[] { new Computer { ModelNumber = 123 }, new Computer { ModelNumber = 456 }, new Computer { ModelNumber = 789 } }; foreach (Computer i in computers) { context.Computer.Add(i); } context.SaveChanges(); var employeeComputers = new EmployeeComputer[] { new EmployeeComputer { ComputerId = computers.Single(s => s.ModelNumber == 123).ComputerId, EmployeeId = employees.Single(s => s.EmployeeName == "A$AP Nast").EmployeeId }, new EmployeeComputer { ComputerId = computers.Single(s => s.ModelNumber == 456).ComputerId, EmployeeId = employees.Single(s => s.EmployeeName == "A$AP Ferg").EmployeeId }, new EmployeeComputer { ComputerId = computers.Single(s => s.ModelNumber == 123).ComputerId, EmployeeId = employees.Single(s => s.EmployeeName == "A$AP Rocky").EmployeeId } }; foreach (EmployeeComputer i in employeeComputers) { context.EmployeeComputer.Add(i); } context.SaveChanges(); var training = new Training[] { new Training { StartDate = new DateTime(2017, 08, 01), EndDate = new DateTime(2017, 08, 07), Name = "Computer Training", MaxAttendees = 25 }, new Training { StartDate = new DateTime(2017, 09, 01), EndDate = new DateTime(2017, 09, 07), Name = "Up Selling", MaxAttendees = 40 }, new Training { StartDate = new DateTime(2017, 09, 10), EndDate = new DateTime(2017, 09, 12), Name = "Sensitivity Traning", MaxAttendees = 6 } }; foreach (Training i in training) { context.Training.Add(i); } context.SaveChanges(); var employeeTrainings = new EmployeeTraining[] { new EmployeeTraining { TrainingId = training.Single(s => s.Name == "Computer Training").TrainingId, EmployeeId = employees.Single(s => s.EmployeeName == "A$AP Nast").EmployeeId }, new EmployeeTraining { TrainingId = training.Single(s => s.Name == "Up Selling").TrainingId, EmployeeId = employees.Single(s => s.EmployeeName == "A$AP Ferg").EmployeeId }, new EmployeeTraining { TrainingId = training.Single(s => s.Name == "Sensitivity Traning").TrainingId, EmployeeId = employees.Single(s => s.EmployeeName == "A$AP Rocky").EmployeeId } }; foreach (EmployeeTraining i in employeeTrainings) { context.EmployeeTraining.Add(i); } context.SaveChanges(); } }
// Method runs on startup to initialize dummy data. public static void Initialize(IServiceProvider serviceProvider) { using (var context = new BanagazonWorkforceManagerContext(serviceProvider.GetRequiredService <DbContextOptions <BanagazonWorkforceManagerContext> >())) { // Look for any Employees. if (context.EmployeeTraining.Any()) { return; // DB has been seeded, the rest of this method doesn't need to run. } // Creating new instances of Department var Departments = new Department[] { new Department { Name = "Marketing" }, new Department { Name = "Sales" }, new Department { Name = "Tech Support" }, new Department { Name = "Human Resources" } }; // Adds each new Department into the context foreach (Department i in Departments) { context.Department.Add(i); } // Saves the Departments to the database context.SaveChanges(); // Creating new instances of Employee var Employees = new Employee[] { new Employee { FirstName = "Svetlana", LastName = "Smith", StartDate = new DateTime(1989, 8, 20), DepartmentID = 1 }, new Employee { FirstName = "Nigel", LastName = "Thornberry", StartDate = new DateTime(1974, 6, 20), DepartmentID = 1 }, new Employee { FirstName = "George", LastName = "Washington", StartDate = new DateTime(1776, 7, 4), DepartmentID = 1 }, new Employee { FirstName = "Tom", LastName = "Jerry", StartDate = new DateTime(1991, 9, 20), DepartmentID = 2 }, new Employee { FirstName = "Boris", LastName = "Johnson", StartDate = new DateTime(2015, 2, 4), DepartmentID = 2 }, new Employee { FirstName = "Mark", LastName = "Hamill", StartDate = new DateTime(1984, 12, 14), DepartmentID = 2 }, new Employee { FirstName = "George", LastName = "Dickel", StartDate = new DateTime(1919, 1, 3), DepartmentID = 3 }, new Employee { FirstName = "Jose", LastName = "Cuervo", StartDate = new DateTime(2013, 2, 28), DepartmentID = 3 }, new Employee { FirstName = "Alexander", LastName = "Hamilton", StartDate = new DateTime(1776, 7, 4), DepartmentID = 3 }, new Employee { FirstName = "Margaery", LastName = "Tyrell", StartDate = new DateTime(1991, 2, 23), DepartmentID = 4 }, new Employee { FirstName = "Podrick", LastName = "Payne", StartDate = new DateTime(2017, 6, 13), DepartmentID = 4 }, new Employee { FirstName = "Rickon", LastName = "Stark", StartDate = new DateTime(2004, 4, 14), DepartmentID = 4 } }; // Adds each new Employee into the context foreach (Employee i in Employees) { context.Employee.Add(i); } // Saves the Employees to the database context.SaveChanges(); // Creating new instances of TrainingProgram var TrainingPrograms = new TrainingProgram[] { new TrainingProgram { Name = "Scrum System: The Basics", Description = "Learn how to be productive during a sprint.", StartDate = new DateTime(2017, 12, 14), EndDate = new DateTime(2017, 12, 15), MaxAttendees = 4 }, new TrainingProgram { Name = "Mentor Partnership", Description = "Come and coach or be coached by others in the company.", StartDate = new DateTime(2017, 11, 12), EndDate = new DateTime(2017, 11, 14), MaxAttendees = 20 }, new TrainingProgram { Name = "2018 Orientation", Description = "We will discuss new company policies going into effect in 2018.", StartDate = new DateTime(2018, 1, 4), EndDate = new DateTime(2018, 1, 7), MaxAttendees = 8 }, new TrainingProgram { Name = "Modern Hiring Practices", Description = "How to conduct interviews in the modern era.", StartDate = new DateTime(2015, 2, 28), EndDate = new DateTime(2015, 3, 2), MaxAttendees = 120 }, new TrainingProgram { Name = "CPR Class", Description = "Best to be prepared.", StartDate = new DateTime(2016, 7, 12), EndDate = new DateTime(2016, 7, 18), MaxAttendees = 50 }, new TrainingProgram { Name = "Public Speaking Workshop", Description = "Always a handy skill to have.", StartDate = new DateTime(2017, 4, 25), EndDate = new DateTime(2017, 4, 28), MaxAttendees = 15 } }; foreach (TrainingProgram i in TrainingPrograms) { context.TrainingProgram.Add(i); } // Saves the TrainingPrograms to the database context.SaveChanges(); // Creating new instances of Computer var Computers = new Computer[] { new Computer { Make = "Macbook Pro 2015", Manufacturer = "Apple", DatePurchased = new DateTime(2015, 4, 13) }, new Computer { Make = "Macbook Pro 2016", Manufacturer = "Apple", DatePurchased = new DateTime(2016, 4, 1) }, new Computer { Make = "Macbook Pro 2017", Manufacturer = "Apple", DatePurchased = new DateTime(2017, 4, 15) }, new Computer { Make = "Thinkpad", Manufacturer = "Lenovo", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Yoga", Manufacturer = "Lenovo", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Inspiron", Manufacturer = "Dell", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Aspire", Manufacturer = "Acer", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Pavilion", Manufacturer = "HP", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Sense", Manufacturer = "Samsung", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Zenbook", Manufacturer = "Asus", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Travelmate", Manufacturer = "Acer", DatePurchased = new DateTime(2016, 4, 15) }, new Computer { Make = "Elitebook", Manufacturer = "HP", DatePurchased = new DateTime(2016, 4, 15) }, }; // Adds each new Computer into the context foreach (Computer i in Computers) { context.Computer.Add(i); } // Saves the Computers to the database context.SaveChanges(); var EmployeeComputers = new EmployeeComputer[] { new EmployeeComputer { EmployeeID = 1, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 15), DateUnassigned = new DateTime(2017, 4, 16) }, new EmployeeComputer { EmployeeID = 2, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 17), DateUnassigned = new DateTime(2017, 4, 18) }, new EmployeeComputer { EmployeeID = 3, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 19), DateUnassigned = new DateTime(2017, 4, 20) }, new EmployeeComputer { EmployeeID = 4, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 21), DateUnassigned = new DateTime(2017, 4, 22) }, new EmployeeComputer { EmployeeID = 5, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 23), DateUnassigned = new DateTime(2017, 4, 24) }, new EmployeeComputer { EmployeeID = 6, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 25), DateUnassigned = new DateTime(2017, 4, 26) }, new EmployeeComputer { EmployeeID = 7, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 27), DateUnassigned = new DateTime(2017, 4, 28) }, new EmployeeComputer { EmployeeID = 8, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 29), DateUnassigned = new DateTime(2017, 4, 30) }, new EmployeeComputer { EmployeeID = 9, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 1), DateUnassigned = new DateTime(2017, 4, 2) }, new EmployeeComputer { EmployeeID = 10, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 3), DateUnassigned = new DateTime(2017, 4, 4) }, new EmployeeComputer { EmployeeID = 11, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 5), DateUnassigned = new DateTime(2017, 4, 6) }, new EmployeeComputer { EmployeeID = 12, ComputerID = 1, DateAssigned = new DateTime(2017, 4, 7), DateUnassigned = new DateTime(2017, 4, 8) }, new EmployeeComputer { EmployeeID = 1, ComputerID = 1, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 2, ComputerID = 2, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 3, ComputerID = 3, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 4, ComputerID = 4, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 5, ComputerID = 5, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 6, ComputerID = 6, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 7, ComputerID = 7, DateAssigned = new DateTime(2017, 5, 01) }, new EmployeeComputer { EmployeeID = 8, ComputerID = 8, DateAssigned = new DateTime(2017, 5, 01) } }; // Adds each new EmployeeComputer into the context foreach (EmployeeComputer i in EmployeeComputers) { context.EmployeeComputer.Add(i); } // Saves the Computers to the database context.SaveChanges(); // Creating new instances of EmployeeTraining var EmployeeTrainings = new EmployeeTraining[] { new EmployeeTraining { EmployeeID = 1, TrainingProgramID = 1 }, new EmployeeTraining { EmployeeID = 2, TrainingProgramID = 1 }, new EmployeeTraining { EmployeeID = 3, TrainingProgramID = 1 }, new EmployeeTraining { EmployeeID = 4, TrainingProgramID = 2 }, new EmployeeTraining { EmployeeID = 5, TrainingProgramID = 2 }, new EmployeeTraining { EmployeeID = 6, TrainingProgramID = 2 }, new EmployeeTraining { EmployeeID = 7, TrainingProgramID = 4 }, new EmployeeTraining { EmployeeID = 8, TrainingProgramID = 4 }, new EmployeeTraining { EmployeeID = 9, TrainingProgramID = 4 }, new EmployeeTraining { EmployeeID = 7, TrainingProgramID = 5 }, new EmployeeTraining { EmployeeID = 8, TrainingProgramID = 5 }, new EmployeeTraining { EmployeeID = 9, TrainingProgramID = 5 }, new EmployeeTraining { EmployeeID = 7, TrainingProgramID = 6 }, new EmployeeTraining { EmployeeID = 9, TrainingProgramID = 6 }, new EmployeeTraining { EmployeeID = 9, TrainingProgramID = 2 }, new EmployeeTraining { EmployeeID = 9, TrainingProgramID = 3 }, new EmployeeTraining { EmployeeID = 10, TrainingProgramID = 6 }, new EmployeeTraining { EmployeeID = 8, TrainingProgramID = 6 }, new EmployeeTraining { EmployeeID = 11, TrainingProgramID = 4 } }; // Adds each new EmployeeTraining into the context foreach (EmployeeTraining i in EmployeeTrainings) { context.EmployeeTraining.Add(i); } // Saves the EmployeeTraining to the database context.SaveChanges(); } }
public async Task <IActionResult> Edit(int id, EmployeeEditViewModel viewModel) { if (id != viewModel.employee.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(viewModel.employee); // Determine which training programs the current employee is assigned to var matchingRecord = _context.TrainingProgramEmployee.Where(t => t.EmployeeId == id); // Iterate over that collection, and remove each one from the database foreach (var tp in matchingRecord) { _context.Remove(tp); } // Now, save the new ones that the user selected in the form foreach (int ProgramId in viewModel.TrainingProgramEmployee) { var employee = await _context.Employee .Include(e => e.Department) .Include(e => e.EmployeeComputers) .Include(e => e.TrainingProgramEmployee) .SingleOrDefaultAsync(m => m.Id == id); var query = employee.TrainingProgramEmployee.Where(x => x.TrainingId.Equals(ProgramId)); if (query.Count() == 0) { TrainingProgramEmployee TrainingProgramEmployee = new TrainingProgramEmployee() { EmployeeId = viewModel.employee.Id, TrainingId = _context.TrainingProgram.SingleOrDefault(t => t.Id == ProgramId).Id }; _context.Add(TrainingProgramEmployee); } } // Determine which Computer the current employee is assigned to var matchingComputer = _context.EmployeeComputer.Where(c => c.EmployeeId == id); // Iterate over that collection, and remove each one from the database foreach (var ec in matchingComputer) { _context.Remove(ec); } foreach (int ComputerId in viewModel.Computer) { EmployeeComputer Computer = new EmployeeComputer() { EmployeeId = viewModel.employee.Id, ComputerId = _context.Computer.SingleOrDefault(c => c.Id == ComputerId).Id }; _context.Add(Computer); } await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } catch (DbUpdateConcurrencyException) { if (!EmployeeExists(viewModel.employee.Id)) { return(NotFound()); } else { throw; } } } ViewData["DepartmentId"] = new SelectList(_context.Department, "Id", "DepartmentName", viewModel.employee.DepartmentId); return(View(viewModel)); }