private static void Main(string[] args)
        {
            //Each problem is solved in different class - uncomment the class to start executing the solution for given problem with CTRL+F5:

            var gringottsContext = new GringottsContext();
            //FirstLetter.GetFirstLetter(gringottsContext);

            var context = new SoftuniContext();
            //EmployeesFullInformation.GetEmployeesFullInformation(context);
            //EmployeesWithSalaryOver5000.GetEmployeesWithSalariesOver5000(context);
            //EmployeesFromSeattle.GetEmployeesFromSeattle(context);
            //AddNewAddressAndUpdateEmployee.AddingNewAddressAndUpdateEmployee(context);
            //FindEmployeesInPeriod.FindingEmployeesInPeriod(context);
            //the result on the console depends on the regional options in the control panel, because
            //the project.EndDate can be Null and doesn't support .ToString();
            //for correct result in Judge the regional options for "Date formats - Short date" should be "M/d/yyyy";
            //AddressesByTownName.GetAddressesByTownName(context);
            //EmployeeWithId147.GetAddressesByTownName(context);
            //DepartmentsWithMoreThanFiveEmployees.GetDepartmentsWithMoreThanFiveEmployees(context);
            //FindLatestTenProjects.FindingLatestTenProjects(context);
            //IncreaseSalaries.IncreaseSalariesMethod(context);
            //FindEmployeesByFirstNameStartingWith.FindEmployeesByFirstName(context);
            //DeleteProjectById.DeleteProjectWithId(context);
            //RemoveTowns.RemoveTown(context);
            //NativeSQLQuerry.UseNativeSQLQuerry(context);
        }
        static void Main()
        {
            GringottsContext context = new GringottsContext();

            //Task 19
            //DepositSumForOlivandersFamily(context);

            //Task 29
            DepositFilter(context);
        }
        private static void Main(string[] args)
        {
            GringottsContext context = new GringottsContext();

            // Task 19
            //DepositsSumForOllivanderFamily(context);

            // Task 20
            //DepositFilter(context);
        }
        static void Main(string[] args)
        {
            var context = new GringottsContext();

            #region 19. Deposits Sum For Ollivander Family
            //DepositSumForOllivanderFamily(context);
            #endregion
            #region 20. Deposists Filter
            //DepositsFilter(context);
            #endregion
        }
        private static void DepositSumForOllivanderFamily(GringottsContext context)
        {
            var result = context.WizzardDeposits
                         .Where(wd => wd.MagicWandCreator == "Ollivander family")
                         .GroupBy(wd => wd.DepositGroup, wd => wd.DepositAmount)
                         .ToList();

            foreach (var depositGroup in result)
            {
                Console.WriteLine($"{depositGroup.Key} - {depositGroup.Sum()}");
            }
        }
Beispiel #6
0
        public static void FirstLetter(GringottsContext context)
        {
            var wizards = context
                          .WizzardDeposits
                          .OrderBy(w => w.FirstName)
                          .Where(w => w.DepositGroup == "Troll Chest")
                          .Select(w => w.FirstName.Substring(0, 1))
                          .Distinct();

            foreach (var wizard in wizards)
            {
                Console.WriteLine(wizard);
            }
        }
Beispiel #7
0
        static void Main()
        {
            var context = new GringottsContext();
            var wizz    = context.WizzardDeposits
                          .Where(w => w.DepositGroup == "Troll Chest")
                          .Select(w => w.FirstName.Substring(0, 1))
                          .Distinct()
                          .OrderBy(w => w);

            foreach (var w in wizz)
            {
                Console.WriteLine($"{w}");
            }
        }
        private static void DepositSumForOlivandersFamily(GringottsContext context)
        {
            var deposits = context.WizzardDeposits
                           .Where(deposit => deposit.MagicWandCreator == "Ollivander family")
                           .GroupBy(deposit => deposit.DepositGroup).Select(grouping => new
            {
                DepositGroup = grouping.Key,
                TotalDeposit = grouping.Sum(deposit => deposit.DepositAmount)
            });

            foreach (var deposit in deposits)
            {
                Console.WriteLine($"{deposit.DepositGroup} - {deposit.TotalDeposit}");
            }
        }
        private static void DepositsSumForOllivanderFamily(GringottsContext context)
        {
            var depositGroups = context.WizzardDeposits
                                .Where(w => w.MagicWandCreator == "Ollivander family")
                                .GroupBy(w => w.DepositGroup)
                                .Select(group => new
            {
                DepositGroupName = group.Key,
                TotalDepositSum  = group.Sum(deposit => deposit.DepositAmount)
            });

            foreach (var depositGroup in depositGroups)
            {
                Console.WriteLine($"{depositGroup.DepositGroupName} - {depositGroup.TotalDepositSum}");
            }
        }
Beispiel #10
0
        //EX20
        public static void DepositsFilter()
        {
            var db = new GringottsContext();

            var depositGroups =
                db.WizzardDeposits.Where(w => w.MagicWandCreator == "Ollivander family")
                .GroupBy(w => w.DepositGroup, w => w.DepositAmount, (key, g) => new
            {
                depositGroup  = key,
                depositAmount = g.Sum()
            }).Where(dg => dg.depositAmount < 150000).OrderByDescending(dg => dg.depositAmount);

            foreach (var dg in depositGroups)
            {
                Console.WriteLine(dg.depositGroup + " - $" + dg.depositAmount);
            }
        }
    static void Main(string[] args)
    {
        using (var context = new GringottsContext())
        {
            var deposits = context.WizzardDeposits
                           .Where(w => w.DepositGroup == "Troll Chest")
                           .OrderBy(w => w.FirstName)
                           .Select(t => new
            {
                FirstLetter = t.FirstName.Substring(0, 1)
            });

            foreach (var wizzardDeposit in deposits.Distinct())
            {
                Console.WriteLine($"{wizzardDeposit.FirstLetter}");
            }
        }
    }
        private static void DepositFilter(GringottsContext context)
        {
            var depositGroups = context.WizzardDeposits
                                .Where(w => w.MagicWandCreator == "Ollivander family")
                                .GroupBy(w => w.DepositGroup)
                                .Select(group => new
            {
                DepositGroupName = group.Key,
                TotalDepositSum  = group.Sum(deposit => deposit.DepositAmount)
            })
                                .Where(group => group.TotalDepositSum < 150000)
                                .OrderByDescending(arg => arg.TotalDepositSum);

            foreach (var depositGroup in depositGroups)
            {
                Console.WriteLine($"{depositGroup.DepositGroupName} - {depositGroup.TotalDepositSum}");
            }
        }
        // Problem 19 - Deposits Sum for Ollivander Family
        private static void PrintDepositGroupsWithTotalDepositSum()
        {
            using (var context = new GringottsContext())
            {
                var depositGroups = context.WizzardDeposits
                                    .Where(w => w.MagicWandCreator == "Ollivander family")
                                    .GroupBy(w => w.DepositGroup)
                                    .Select(g => new
                {
                    DepositGroup    = g.Key,
                    TotalDepositSum = g.Sum(w => w.DepositAmount)
                })
                                    .ToList();

                foreach (var d in depositGroups)
                {
                    Console.WriteLine($"{d.DepositGroup} - {d.TotalDepositSum:F2}");
                }
            }
        }
Beispiel #14
0
 public static void Main()
 {
     GringottsContext context = new GringottsContext();
 }
Beispiel #15
0
        public static void Main()
        {
            var ctx = new GringottsContext();

            ctx.Database.Initialize(true);
        }
Beispiel #16
0
 public static void Main()
 {
     var SoftUniContext   = new SoftUniContext();
     var GringottsContext = new GringottsContext();
 }
Beispiel #17
0
        static void Main(string[] args)
        {
            //03.
            var context   = new SoftuniContext();
            var grContext = new GringottsContext();
            //var employees = context.Employees;

            //foreach (var e in employees)
            //{
            //    System.Console.WriteLine($"{e.FirstName} {e.LastName} {e.MiddleName} {e.JobTitle} {e.Salary}");
            //}

            //04
            //var employeesNames = context.Employees
            //    .Where(e => e.Salary > 50000)
            //    .Select(e => e.FirstName);

            //foreach (var empl in employeesNames)
            //{
            //    Console.WriteLine(empl);
            //}

            //05
            //var employee = context.Employees
            //    .Where(e => e.Department.Name == "Research and Development")
            //    .OrderBy(e => e.Salary)
            //    .ThenByDescending(e => e.FirstName);

            //foreach (var e in employee)
            //{
            //    Console.WriteLine($"{e.FirstName} {e.LastName} from {e.Department.Name} - ${e.Salary:F2}");
            //}

            //06
            //var address = new Address()
            //{
            //    AddressText = "Vitoshka 15",
            //    TownID = 4
            //};

            //context.Addresses.Add(address);

            //Employee employee = context.Employees
            //    .FirstOrDefault(e => e.LastName == "Nakov");
            //employee.Address = address;

            //context.SaveChanges();

            //var employeeAddress = context.Employees
            //    .OrderByDescending(e => e.AddressID)
            //    .Take(10)
            //    .Select(e=>e.Address.AddressText);

            //foreach (var e in employeeAddress)
            //{
            //    Console.WriteLine(e);
            //}
            //07
            //var project = context.Projects.Find(2);
            //var employWithProject = project.Employees;
            //foreach (var employee in employWithProject)
            //{
            //    employee.Projects.Remove(project);
            //}

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

            //var tenProject = context.Projects.Select(e => e.Name).Take(10);
            //foreach (var p in tenProject)
            //{
            //    Console.WriteLine(p);
            //}

            //08 TODO:
            //Find the first 30 employees who have projects started in the
            //time period 2001 - 2003(inclusive).Print each employee's first name, last name
            //and manager’s first name and each of their projects' name, start date, end date.
            //Here is the format:
            //“first Name lastName managerFirstName”
            //“—projectName projectStart projectEnd”

            //var employees = context.Employees
            //    .Where(e => e.Projects.Count(p => p.StartDate.Year >= 2001 && p.StartDate.Year <= 2003) > 0).Take(30);

            //foreach (var employee in employees)
            //{
            //    Console.WriteLine($"{employee.FirstName} {employee.LastName} {employee.Manager.FirstName}");
            //    foreach (var project in employee.Projects)
            //    {
            //        Console.WriteLine($"--{project.Name} {project.StartDate} {project.EndDate}");
            //    }
            //}

            //09
            //var addresses = context.Addresses
            //    .OrderByDescending(e => e.Employees.Count)
            //    .ThenBy(t => t.Town.Name)
            //    .Select(a => new
            //    {
            //        addressText = a.AddressText,
            //        townName = a.Town.Name,
            //        numberOfEmployyes = a.Employees.Count
            //    }).Take(10);

            //foreach (var a in addresses)
            //{
            //    Console.WriteLine($"{a.addressText}, {a.townName} - {a.numberOfEmployyes} employees");
            //}

            //10
            //var employee = context.Employees
            //    .Where(e => e.EmployeeID == 147)
            //    .Select(e => new
            //    {
            //        firstName = e.FirstName,
            //        lastName = e.LastName,
            //        jobTitle = e.JobTitle,
            //        projects = e.Projects
            //                    .Select(p => new
            //                    {
            //                        projectName = p.Name
            //                    }).OrderBy(pr => pr.projectName)
            //    });

            //foreach (var e in employee)
            //{
            //    Console.WriteLine($"{e.firstName} {e.lastName} {e.jobTitle}");
            //    foreach (var item in e.projects)
            //    {
            //        Console.WriteLine(string.Join(", ", item.projectName));
            //    }
            //}

            //11
            //IEnumerable<Department> departmets = context.Departments
            //    .Where(d => d.Employees.Count > 5)
            //    .OrderBy(d => d.Employees.Count);

            //foreach (Department department in departmets)
            //{
            //    Console.WriteLine($"{department.Name} {department.Employee.FirstName}");
            //    foreach (Employee employee in department.Employees)
            //    {
            //        Console.WriteLine($"{employee.FirstName} {employee.LastName} {employee.JobTitle}");
            //    }
            //}

            //12
            //var timer = new Stopwatch();
            //timer.Start();
            //PrintNamesWithNativeQuery(context);
            //timer.Stop();
            //Console.WriteLine($"Native: {timer.Elapsed}");

            //timer.Restart();
            //PrimtNamesWithLinq(context);
            //timer.Stop();
            //Console.WriteLine($"LINQ: {timer.Elapsed}");


            //15
            //var projects = context.Projects.OrderByDescending(p => p.StartDate)
            //    .Take(10)
            //    .OrderBy(p => p.Name);

            //foreach (var project in projects)
            //{
            //    Console.WriteLine($"{project.Name} {project.Description} {project.StartDate} {project.EndDate}");
            //}

            //16
            //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 employee in employees)
            //{
            //    employee.Salary *= 1.12m;
            //    Console.WriteLine($"{employee.FirstName} {employee.LastName} (${employee.Salary})");
            //}
            //context.SaveChanges();

            //17
            //string townForDelete = Console.ReadLine();
            //var wantedTown = context.Towns.FirstOrDefault(t => t.Name == townForDelete);
            //var townAddresses = wantedTown.Addresses.ToArray();
            //foreach (Address townAddress in townAddresses)
            //{
            //    var emploees = townAddress.Employees.ToArray();
            //    foreach (var employee in emploees)
            //    {
            //        employee.AddressID = null;
            //    }
            //}
            //context.Addresses.RemoveRange(townAddresses);
            //context.Towns.Remove(wantedTown);
            //context.SaveChanges();
            //Console.WriteLine($"{townAddresses.Length} address in {townForDelete} was deleted");

            //18
            //var employees = context.Employees
            //    .Where(e => e.FirstName.Substring(0, 2) == "SA")
            //    .Select(e => new
            //    {
            //        firstname = e.FirstName,
            //        lastname = e.LastName,
            //        jobTitle = e.JobTitle,
            //        salary = e.Salary
            //    });

            //foreach (var e in employees)
            //{
            //    Console.WriteLine($"{e.firstname} {e.lastname} – {e.jobTitle} - (${e.salary})");
            //}

            //19
            //var wizzards = grContext.WizzardDeposits

            //    .Where(w => w.DepositGroup == "Troll Chest")
            //    .Select(w => w.FirstName.Substring(0, 1))
            //    .Distinct()
            //    .OrderBy(w=>w);

            //foreach (var wizzard in wizzards)
            //{
            //    Console.WriteLine(wizzard);
            //}
        }