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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        // 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();
            }
        }
Exemplo n.º 7
0
        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));
        }