public static string AddNewAddressToEmployee(Models.SoftUniContext context) { StringBuilder sb = new StringBuilder(); Address newAddress = new Address() { AddressText = "Vitoshka 15", TownId = 4, }; Employee employeeNakov = context.Employees.First(e => e.LastName == "Nakov"); context.Addresses.Add(newAddress); employeeNakov.Address = newAddress; context.SaveChanges(); List <string> addresses = context.Employees. OrderByDescending(e => e.AddressId). Select(e => e.Address.AddressText). Take(10). ToList(); foreach (var address in addresses) { sb.AppendLine(address); } return(sb.ToString().TrimEnd()); }
public static string GetEmployeesInPeriod(Models.SoftUniContext context) { StringBuilder sb = new StringBuilder(); var employees = context.Employees. Where(e => e.EmployeesProjects. Any(ep => ep.Project.StartDate.Year > 2000 && ep.Project.StartDate.Year <= 2003)). Take(10). Select(e => new { e.FirstName, e.LastName, ManagerFirstName = e.Manager.FirstName, ManagerLastName = e.Manager.LastName, Project = e.EmployeesProjects.Select(ep => new { ProjectName = ep.Project.Name, StartDate = ep.Project.StartDate.ToString("M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture), EndDate = ep.Project.EndDate.HasValue ? ep.Project.EndDate.Value.ToString("M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture) : "not Finished" }).ToList() }).ToList(); foreach (var employee in employees) { sb.AppendLine($"{employee.FirstName} {employee.LastName} – Manager: {employee.ManagerFirstName} {employee.ManagerLastName}"); foreach (var project in employee.Project) { sb.AppendLine($"--{project.ProjectName} - {project.StartDate} - {project.EndDate}"); } } return(sb.ToString().TrimEnd()); }
public static string GetDepartmentsWithMoreThan5Employees(Models.SoftUniContext context) { StringBuilder sb = new StringBuilder(); var departments = context.Departments.Where(d => d.Employees.Count > 5).Select(d => new { d.Name, ManagerFirstName = d.Manager.FirstName, ManagerLastName = d.Manager.LastName, Employees = d.Employees.Select(e => new { EmployeeFirstName = e.FirstName, EmployeeLastName = e.LastName, EmployeeJobTitle = e.JobTitle }) }); foreach (var department in departments) { sb.AppendLine($"{department.Name} – {department.ManagerFirstName} {department.ManagerLastName}"); foreach (var employee in department.Employees) { sb.AppendLine($"{employee.EmployeeFirstName} {employee.EmployeeLastName} - {employee.EmployeeJobTitle}"); } } return(sb.ToString().TrimEnd()); }
public static string GetEmployeesWithSalaryOver50000(Models.SoftUniContext context) { StringBuilder sb = new StringBuilder(); var employees = context.Employees.Where(e => e.Salary > 50000).OrderBy(e => e.FirstName).ToList(); foreach (var employee in employees) { sb.AppendLine($"{employee.FirstName} - {employee.Salary:f2}"); } return(sb.ToString().TrimEnd()); }
public static string GetEmployeesFromResearchAndDevelopment(Models.SoftUniContext context) { StringBuilder sb = new StringBuilder(); var employees = context.Employees. Where(e => e.Department.Name == "Research and Development "). OrderBy(e => e.Salary). ThenByDescending(e => e.FirstName). ToList(); foreach (var employee in employees) { sb.AppendLine($"{employee.FirstName} {employee.LastName} from Research and Development - ${employee.Salary:F2}"); } return(sb.ToString().TrimEnd()); }
public static string GetEmployee147(Models.SoftUniContext context) { StringBuilder sb = new StringBuilder(); var employee = context.Employees.Where(e => e.EmployeeId == 147).Select(e => new { e.FirstName, e.LastName, e.JobTitle, Projects = e.EmployeesProjects.Select(ep => ep.Project.Name) }); foreach (var e in employee) { sb.AppendLine($"{e.FirstName} {e.LastName} - {e.JobTitle}"); } return(sb.ToString().TrimEnd()); }
public static void Main() { Models.SoftUniContext context = new Models.SoftUniContext(); string result = GetEmployeesWithSalaryOver50000(context); Console.WriteLine(result); result = GetEmployeesFromResearchAndDevelopment(context); Console.WriteLine(result); result = AddNewAddressToEmployee(context); Console.WriteLine(result); result = GetEmployeesInPeriod(context); Console.WriteLine(result); result = GetEmployee147(context); Console.WriteLine(result); result = GetDepartmentsWithMoreThan5Employees(context); Console.WriteLine(result); }