static void Main(string[] args) { Console.WriteLine("Demo'ing the entity framework using linq and dependency injection"); var x = ConfigureServices(); // get the database service CompanyFactory factory = x.GetService <CompanyFactory>(); #region hide this ugly var dep1 = new Department { DepartmentId = 105, DepartmentName = "Engineering" }; var dep2 = new Department { DepartmentId = 106, DepartmentName = "Human Resources" }; var dep3 = new Department { DepartmentId = 107, DepartmentName = "Programming" }; var dep4 = new Department { DepartmentId = 108, DepartmentName = "Sales" }; var man1 = new Manager { Department = dep2, ManagerId = 201, Name = "James Holden" }; var man2 = new Manager { Department = dep1, ManagerId = 202, Name = "Naomi Nagata" }; var man3 = new Manager { Department = dep3, ManagerId = 203, Name = "Amos Burton" }; var man4 = new Manager { Department = dep4, ManagerId = 204, Name = "Alex Kamal" }; var emp1 = new Employee { Name = "Chrisjen Avasarala", Department = dep1, EmployeeId = 301, Salary = 103.5 }; var emp2 = new Employee { Name = "John Smith", Department = dep2, EmployeeId = 302, Salary = 99.9 }; var emp3 = new Employee { Name = "Matt Smith", Department = dep3, EmployeeId = 303, Salary = 102.7 }; var emp4 = new Employee { Name = "David Tennant", Department = dep4, EmployeeId = 304, Salary = 92.3 }; var emp5 = new Employee { Name = "Peter Capaldi", Department = dep1, EmployeeId = 305, Salary = 55.55 }; var emp6 = new Employee { Name = "Lord Huron", Department = dep1, EmployeeId = 306, Salary = 89.999 }; var emp7 = new Employee { Name = "Surf Curse", Department = dep2, EmployeeId = 307, Salary = 122312.4 }; var emp8 = new Employee { Name = "test_employee", Department = dep4, EmployeeId = 308, Salary = 239293.23 }; //factory.AddDepartment(dep1); //factory.AddDepartment(dep2); //factory.AddDepartment(dep3); //factory.AddDepartment(dep4); //factory.AddManager(man1); //factory.AddManager(man2); //factory.AddManager(man3); //factory.AddManager(man4); //factory.AddEmployee(emp1); //factory.AddEmployee(emp2); //factory.AddEmployee(emp3); //factory.AddEmployee(emp4); //factory.AddEmployee(emp5); //factory.AddEmployee(emp6); //factory.AddEmployee(emp7); //factory.AddEmployee(emp8); #endregion // PrintTables(factory); //AddEmployee(factory); // var x1 = GetEmployeeByName(factory); // var x2 = factory.getDepartmentFromEmployee(x1); // Console.WriteLine("{0} {1}", x2.Department.DepartmentName, x2.Employee.Name); // GetManager().ForEach(m => Console.WriteLine(m)); // Console.WriteLine(GetManager()); bool quit = true; while (quit) { Console.WriteLine("1: Print Tables\n 2: Get Employee By Name \n 3: Get Employees of Manager\n 4: Get Employees of department\n 5: Add new employee"); switch (Console.ReadKey().Key) { case (ConsoleKey.D1): PrintTables(factory); break; case (ConsoleKey.D2): Console.Clear(); Console.WriteLine(GetEmployeeByName(factory)); break; case (ConsoleKey.D3): Console.Clear(); factory.GetEmployeesOfManager(GetManager()); break; case (ConsoleKey.D4): Console.Clear(); var depse = factory.GetDepartmentEmployees(GetDepartmentByName()); Console.WriteLine(depse.Manager); depse.employees.ForEach(e => Console.WriteLine(e)); break; case (ConsoleKey.D5): Console.Clear(); AddEmployee(factory); break; default: Console.WriteLine("Not an option"); break; } ; } ; }