Exemplo n.º 1
0
        static void Main(string[] args)
        {
            IEnumerable <Employee> basicMethod = Employee.GetEmployees().ToList();

            foreach (Employee emp in basicMethod)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            List <Employee> selectMethod = Employee.GetEmployees().Select(emp => new Employee()
            {
                First_Name = emp.First_Name, Last_Name = emp.Last_Name
            }).ToList();

            foreach (var emp in selectMethod)
            {
                Console.WriteLine($" Name : {emp.First_Name} {emp.Last_Name}  ");
            }

            List <Employee> Method = Employee.GetEmployees().Select(emp => new Employee()
            {
                First_Name = emp.First_Name
            }).ToList();

            foreach (var emp in Method)
            {
                Console.WriteLine($" Employee Name : {emp.First_Name}  ");
            }

            string[] Upper = Employee.GetEmployees().Select(emp => emp.First_Name.ToUpper()).ToArray();
            foreach (var emp in Upper)
            {
                Console.WriteLine($" Employee Name : {emp}  ");
            }

            string[] Lower = Employee.GetEmployees().Select(emp => emp.First_Name.ToLower()).ToArray();
            foreach (var emp in Lower)
            {
                Console.WriteLine($" Employee Name : {emp}  ");
            }

            var unique = Employee.GetEmployees().Select(e => e.Department).Distinct().ToList();

            foreach (var dept in unique)
            {
                Console.WriteLine($" Department : {dept}  ");
            }

            //var text = Employee.GetEmployees().Select(First_Name => String.Join("",First_Name).Take(3)).ToList();
            //foreach (var name in text)
            //{
            //    Console.WriteLine($" Employee Name : {name}  ");
            //}

            //var n = Employee.GetEmployees().Select(emp => emp.First_Name = "John" );
            string n = "John";

            char[] textarray = n.ToCharArray();

            for (int i = 1; i < n.Length; i++)
            {
                if (textarray[i].Equals('o'))
                {
                    Console.WriteLine("The letter is present in " + (i + 1) + "th position");
                    break;
                }
            }

            var trimr = Employee.GetEmployees().Select(e => e.First_Name.TrimEnd()).ToList();

            foreach (var emp in trimr)
            {
                Console.WriteLine($" Employee Name : {emp}  ");
            }

            var triml = Employee.GetEmployees().Select(e => e.First_Name.TrimStart()).ToList();

            foreach (var emp in triml)
            {
                Console.WriteLine($" Employee Name : {emp}  ");
            }

            var len = Employee.GetEmployees().Select(e => e.First_Name.Length).ToList();

            foreach (var emp in len)
            {
                Console.WriteLine($" Employee Name : {emp}  ");
            }

            var re = Employee.GetEmployees().Select(e => e.First_Name.Replace("o", "$")).ToList();

            foreach (var emp in re)
            {
                Console.WriteLine($" Employee Name : {emp}  ");
            }

            List <Employee> flname = Employee.GetEmployees().Select(emp => new Employee()
            {
                First_Name = emp.First_Name, Last_Name = emp.Last_Name
            }).ToList();

            foreach (var emp in flname)
            {
                Console.WriteLine($" Name : {emp.First_Name}_{emp.Last_Name}  ");
            }

            var join = Employee.GetEmployees().Select(e => new { First_Name = e.First_Name, Joining_Year = e.Joining_Date.Year, Joining_Month = e.Joining_Date.Month, Joining_Date = e.Joining_Date.Day });

            foreach (var emp in join)
            {
                Console.WriteLine($" Name : {emp.First_Name}  Joining Year : {emp.Joining_Year}  Joining Month : {emp.Joining_Month} Joining Day : {emp.Joining_Date}");
            }

            var asc = Employee.GetEmployees().OrderBy(e => e.First_Name).ToList();

            foreach (var emp in asc)
            {
                Console.WriteLine($"Name : {emp.First_Name}");
            }

            var de = Employee.GetEmployees().OrderByDescending(e => e.First_Name).ToList();

            foreach (var emp in de)
            {
                Console.WriteLine($"Name : {emp.First_Name}");
            }

            var ad = Employee.GetEmployees().OrderBy(e => e.First_Name).ThenByDescending(e => e.Salary).ToList();

            foreach (var emp in ad)
            {
                Console.WriteLine($"Name : {emp.First_Name}  Salary : {emp.Salary}");
            }

            var en = Employee.GetEmployees().Where(e => e.First_Name == "John");

            foreach (var e in en)
            {
                Console.WriteLine($"Name : {e.First_Name}");
            }

            var en2 = Employee.GetEmployees().Where(e => e.First_Name == "John" || e.First_Name == "Roy");

            foreach (var e in en2)
            {
                Console.WriteLine($"Name : {e.First_Name}");
            }

            var en3 = Employee.GetEmployees().Where(e => e.First_Name != "John" || e.First_Name != "Roy");

            foreach (var e in en3)
            {
                Console.WriteLine($"Name : {e.First_Name}");
            }

            var en4 = Employee.GetEmployees().Where(e => e.First_Name.StartsWith("J"));

            foreach (var e in en4)
            {
                Console.WriteLine($"Name : {e.First_Name}");
            }

            var en5 = Employee.GetEmployees().Where(e => e.First_Name.Contains("o"));

            foreach (var e in en5)
            {
                Console.WriteLine($"Name : {e.First_Name}");
            }

            var en6 = Employee.GetEmployees().Where(e => e.First_Name.EndsWith("n"));

            foreach (var e in en6)
            {
                Console.WriteLine($"Name : {e.First_Name}");
            }

            //var q = Employee.GetEmployees().Select(e => e.First_Name.StartsWith("J") && e.First_Name => String.Join("", First_Name).Take(4)));

            var q = Employee.GetEmployees().Where(e => e.Salary > 600000).ToList();

            foreach (var emp in q)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var s = Employee.GetEmployees().Where(e => e.Salary < 800000).ToList();

            foreach (var emp in s)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var sa = Employee.GetEmployees().Where(e => e.Salary >= 500000 && e.Salary <= 800000);

            foreach (var emp in sa)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var sn = Employee.GetEmployees().Where(e => e.First_Name == "John" || e.First_Name == "Michael");

            foreach (var emp in sn)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var dt = Employee.GetEmployees().Where(e => e.Joining_Date.Year == 2013);

            foreach (var emp in dt)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var mn = Employee.GetEmployees().Where(e => e.Joining_Date.Month == 01);

            foreach (var emp in mn)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var jmn = Employee.GetEmployees().Where(e => e.Joining_Date < new DateTime(2013, 01, 01));

            foreach (var emp in jmn)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var jmnt = Employee.GetEmployees().Where(e => e.Joining_Date > new DateTime(2013, 01, 01));

            foreach (var emp in jmnt)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var ti = Employee.GetEmployees().Select(e => new { Joining_Date = e.Joining_Date.Day, Joining_Time = e.Joining_Date.TimeOfDay });

            foreach (var emp in ti)
            {
                Console.WriteLine($"Joining Date : {emp.Joining_Date} Time : {emp.Joining_Time}");
            }


            var mi = Employee.GetEmployees().Select(e => new { Joining_Date = e.Joining_Date, Joining_Time = e.Joining_Date.Millisecond });

            foreach (var emp in mi)
            {
                Console.WriteLine($"Joining Date : {emp.Joining_Date} Time : {emp.Joining_Time}");
            }

            //var ij = Employee.GetEmployees().Join(Incentive.GetIncentives(), emp=>emp.Employee_Id, inc => inc.Employee_Ref_Id,(emp,inc)=> new {First_Name= emp.First_Name, Difference_Date = inc.Incentive_Date - emp.Joining_Date }).ToList();
            //foreach (var emp in ij)
            //{
            //   Console.WriteLine($"Joining Date : {emp.Joining_Date} Time : {emp.Joining_Time}");
            //}


            //var date = DateTime.Now();
            //Console.WriteLine(date);

            var con = Employee.GetEmployees().Where(e => e.Last_Name.Contains("%"));

            foreach (var emp in con)
            {
                Console.WriteLine($"ID : {emp.Employee_Id} Name : {emp.First_Name} {emp.Last_Name} Salary : {emp.Salary} Joining Date : {emp.Joining_Date} Department : {emp.Department}");
            }

            var rep = Employee.GetEmployees().Select(e => e.Last_Name.Replace("%", " "));

            foreach (var emp in rep)
            {
                Console.WriteLine($"Name : {emp} ");
            }

            var gb = Employee.GetEmployees().GroupBy(e => e.Department).Select(a => new { Total_Salary = a.Sum(e => e.Salary) });

            foreach (var emp in gb)
            {
                Console.WriteLine($"Total Salary : {emp.Total_Salary} ");
            }

            var ob = Employee.GetEmployees().GroupBy(e => e.Department).Select(a => new { Total_Salary = a.Sum(e => e.Salary) }).OrderByDescending(a => a.Total_Salary);

            foreach (var emp in ob)
            {
                Console.WriteLine($"Total Salary (Desc) : {emp.Total_Salary} ");
            }

            //var cn = Employee.GetEmployees().GroupBy(e=>e.Department).Select(a=>new { First_Name = a.First_Name, Total_Salary= a.Sum(e=>e.Salary)}).Count(a=>a.First_Name).OrderByDescending(a=>a.Total_Salary);
            //foreach (var emp in cn)
            //{
            //   Console.WriteLine($"Total Salary (Department) : {emp.Total_Salary} ");
            //}

            var avg = Employee.GetEmployees().GroupBy(e => e.Department).Select(a => new { Avg_Salary = a.Average(e => e.Salary) }).OrderBy(a => a.Avg_Salary);

            foreach (var emp in avg)
            {
                Console.WriteLine($"Average Salary (Department) : {emp.Avg_Salary} ");
            }

            var max = Employee.GetEmployees().GroupBy(e => e.Department).Select(a => new { Max_Salary = a.Max(e => e.Salary) }).OrderBy(a => a.Max_Salary);

            foreach (var emp in max)
            {
                Console.WriteLine($"Maximum Salary (Department) : {emp.Max_Salary} ");
            }

            var min = Employee.GetEmployees().GroupBy(e => e.Department).Select(a => new { Min_Salary = a.Min(e => e.Salary) }).OrderBy(a => a.Min_Salary);

            foreach (var emp in min)
            {
                Console.WriteLine($"Minimum Salary (Department) : {emp.Min_Salary} ");
            }

            var ym = Employee.GetEmployees().GroupBy(g => new { Year = g.Joining_Date.Year, Month = g.Joining_Date.Month }).Select(a => new { No_of_Emp = a.Count() }).ToList();

            foreach (var emp in ym)
            {
                Console.WriteLine($"No. of Employee : {emp.No_of_Emp}");
            }

            var tsg = Employee.GetEmployees().GroupBy(e => e.Department).Select(a => new { Total_Salary = a.Sum(e => e.Salary) }).Where(a => a.Total_Salary > 800000).OrderByDescending(a => a.Total_Salary);

            foreach (var emp in tsg)
            {
                Console.WriteLine($"Total Salary  : {emp.Total_Salary}");
            }

            var ej = Employee.GetEmployees().Join(Incentive.GetIncentives(), emp => emp.Employee_Id, inc => inc.Employee_Ref_Id, (emp, inc) => new { First_Name = emp.First_Name, Incentive_Amount = inc.Incentive_Amount }).ToList();

            foreach (var emp in ej)
            {
                Console.WriteLine($"Name : {emp.First_Name}  Incentive Amount : {emp.Incentive_Amount}");
            }

            //var eij = from emp in Employee.GetEmployees() join inc in Incentive.GetIncentives() on emp.Employee_Id equals inc.Employee_Ref_Id into EmployeeIncentive from incentive in EmployeeIncentive.DefaultIfEmpty() select new {First_Name=emp.First_Name, Incentive_Amount = inc.Incentive_Amount };
            //foreach (var emp in eij)
            //{
            //    Console.WriteLine($"Name : {emp.First_Name}  Incentive Amount : {emp.Incentive_Amount}");
            //}


            var top = Employee.GetEmployees().OrderByDescending(e => e.Salary).Take(2).ToList();

            foreach (var emp in top)
            {
                Console.WriteLine($"Top 2 Salary : {emp.Salary} ");
            }

            var topn = Employee.GetEmployees().OrderByDescending(e => e.Salary).Take(5).ToList();

            foreach (var emp in topn)
            {
                Console.WriteLine($"Top 5 Salary : {emp.Salary} ");
            }

            var top2 = Employee.GetEmployees().OrderByDescending(e => e.Salary).Skip(1).First();

            Console.WriteLine($"2nd Highest Salary : {top2.Salary} ");

            var un = Employee.GetEmployees().Select(x => x.First_Name).Union(Employee.GetEmployees().Select(y => y.Last_Name)).ToList();

            foreach (var emp in un)
            {
                Console.WriteLine($"Name : {emp} ");
            }

            var ei = Employee.GetEmployees().Select(x => x.Employee_Id).Except(Incentive.GetIncentives().Select(y => y.Employee_Ref_Id)).ToList();

            foreach (var emp in ei)
            {
                Console.WriteLine($"Emp Id : {emp} ");
            }

            //var cases = Employee.GetEmployees().Select(e => new {First_Name = e.First_Name, First_Name = e.First_Name=="John"?e.Salary*.2:e.First_Name =="Roy"?e.Salary*.1:e.First_Name != null ? e.Salary*.15:"-"}).ToList();
            //foreach (var emp in cases)
            //{
            //    Console.WriteLine($"Emp Details : {emp} ");
            //}

            var cases2 = Employee.GetEmployees().Select(e => new { Department = e.Department == "Banking"?"Bank Dept":e.Department == "Insurance"?"Insurance Dept":e.Department == "Services"?"Services Dept":"-" });

            foreach (var emp in cases2)
            {
                Console.WriteLine($"Emp Details : {emp.Department} ");
            }



            Console.ReadKey();
        }