예제 #1
0
        private static void RemoveTowns(SoftuniContext context)
        {
            var townName = Console.ReadLine();
            var town     = context.Towns.FirstOrDefault(t => t.Name == townName);

            if (town == null)
            {
                Console.WriteLine("There isn't a town with that name in database");
            }
            else
            {
                var addressIds = context.Addresses
                                 .Where(a => a.TownID == town.TownID).ToList().Select(a => a.AddressID).ToList();

                var employeeWithAdress = context.Employees
                                         .Where(e => addressIds.Contains((int)e.AddressID)).ToList();

                foreach (var emp in employeeWithAdress)
                {
                    emp.AddressID = null;
                }

                foreach (var addressId in addressIds)
                {
                    context.Addresses.Remove(context.Addresses.FirstOrDefault(a => a.AddressID == addressId));
                }

                Console.WriteLine($"{addressIds.Count} addresses in {townName} were deleted");

                context.Towns.Remove(town);

                context.SaveChanges();
            }
        }
예제 #2
0
        private static void DeleteProjectById(SoftuniContext context)
        {
            var project = context.Projects.FirstOrDefault(p => p.ProjectID == 2);


            if (project != null)
            {
                var projectEmployees = project.Employees;

                foreach (var emp in projectEmployees)
                {
                    emp.Projects.Remove(project);
                }

                context.Projects.Remove(project);
                context.SaveChanges();
            }

            var projectsName = context.Projects
                               .Select(p => p.Name).Take(10).ToList();

            foreach (var name in projectsName)
            {
                Console.WriteLine(name);
            }
        }
예제 #3
0
        private static void AddAddressToEmployee(SoftuniContext context)
        {
            Address address = new Address();

            address.AddressText = "Vitoshka 15";
            address.TownID      = 4;

            context.Addresses.Add(address);

            var employees = context.Employees
                            .Where(e => e.LastName == "Nakov");

            foreach (var employee in employees)
            {
                employee.Addresses = address;
            }
            context.SaveChanges();

            var emplAdresses = context.Employees
                               .OrderByDescending(e => e.AddressID)
                               .Take(10)
                               .Select(e => e.Addresses.AddressText)
                               .ToList();

            foreach (var adress in emplAdresses)
            {
                Console.WriteLine(adress);
            }
        }
예제 #4
0
        private static void AddingNewAddress(SoftuniContext context)
        {
            Address addr = new Address()
            {
                AddressText = "Vitoshka 15",
                TownID      = 4
            };

            Employee employee = null;

            employee = context.Employees
                       .Where(e => e.LastName == "Nakov")
                       .FirstOrDefault();

            employee.Address = addr;

            context.SaveChanges();

            List <string> employeesAddr = context.Employees
                                          .OrderByDescending(e => e.AddressID)
                                          .Take(10)
                                          .Select(e => e.Address.AddressText)
                                          .ToList();

            foreach (string ea in employeesAddr)
            {
                Console.WriteLine(ea);
            }
        }
예제 #5
0
        private static void IncreaseSalaries(SoftuniContext context)
        {
            var employees = context.Employees
                            .Where(e => e.Department.Name == "Engineering" || e.Department.Name == "Tool Design" ||
                                   e.Department.Name == "Marketing" || e.Department.Name == "Information Services");

            foreach (var emp in employees)
            {
                emp.Salary *= 1.12m;
            }

            context.SaveChanges();

            foreach (var e in employees)
            {
                Console.WriteLine($"{e.FirstName} {e.LastName} (${e.Salary:f6})");
            }
        }
예제 #6
0
        private static void DeleteProjectById(SoftuniContext context)
        {
            var project = context.Projects.Find(2);

            foreach (Employee e in project.Employees)
            {
                e.Projects.Remove(project);
            }

            context.Projects.Remove(project);
            context.SaveChanges();

            List <Project> projects = context.Projects
                                      .Take(10)
                                      .ToList();

            foreach (Project p in projects)
            {
                Console.WriteLine(p.Name);
            }
        }
예제 #7
0
        private static void RemoveTowns(SoftuniContext context)
        {
            Console.Write("Enter town to delete: ");
            string town = Console.ReadLine();

            Town tn = context.Towns
                      .Where(t => t.Name == town)
                      .FirstOrDefault();

            List <Address> addrs = context.Addresses
                                   .Where(a => a.Town.Name == town)
                                   .ToList();



            context.Towns.Remove(tn);
            foreach (Address a in addrs)
            {
                List <Employee> empls = context.Employees
                                        .Where(e => e.AddressID == a.AddressID)
                                        .ToList();

                foreach (Employee e in empls)
                {
                    e.AddressID = null;
                }
                context.Addresses.Remove(a);
            }
            context.SaveChanges();
            if (addrs.Count == 1)
            {
                Console.WriteLine($"{addrs.Count} " +
                                  $"address in {town} was deleted");
            }
            else
            {
                Console.WriteLine($"{addrs.Count} " +
                                  $"addresses in {town} were deleted");
            }
        }
예제 #8
0
        private static void IncreaseSalaries(SoftuniContext context)
        {
            List <Employee> employees = context.Employees
                                        .Where(e => e.Department.Name == "Engineering" ||
                                               e.Department.Name == "Tool Design" ||
                                               e.Department.Name == "Marketing" ||
                                               e.Department.Name == "Information Services")
                                        .ToList();

            foreach (Employee e in employees)
            {
                e.Salary = e.Salary + e.Salary * 12 / 100;
            }

            context.SaveChanges();

            foreach (Employee e in employees)
            {
                Console.WriteLine($"{e.FirstName} " +
                                  $"{e.LastName} (${e.Salary:f6})");
            }
        }