static void Main(string[] args) { List <int> item1 = new List <int> { 1, 2, 3, 4, 4, 5, 8, 1, 2 }; var t = item1.FirstOrDefault(x => x > 12); List <MainEmployee> allEMp = new List <MainEmployee>(); allEMp.Add(new Intern()); allEMp.Add(new ContractEmp()); allEMp.Add(new FullTimeEmp()); var resi = allEMp.OfType <ContractEmp>(); var resiFull = allEMp.OfType <FullTimeEmp>(); foreach (var item in item1.Distinct()) { Console.WriteLine(item); } Console.ReadLine(); var empCollection = OfficeEmployee.GetEmployeeDetails(); var ordereddEmpCollection = empCollection.OrderByDescending(x => x.Salary); foreach (var item in ordereddEmpCollection) { Console.WriteLine($"Name {item.Name}, Salary {item.Salary}"); } Console.ReadKey(); var groupQuery = empCollection.GroupBy(emp => new { Manager = emp.ManagerId, Gender = emp.Gender }); foreach (var group in groupQuery) { Console.WriteLine(group.Key); foreach (var emp in group) { Console.WriteLine($"Name {emp.Name} , Gender {emp.Gender}"); } } Console.ReadKey(); //var innerQuery = from emp in empCollection // join man in manCollection // on emp.ManagerId equals man.Id into empManGroup // select emp; var innerQuery = empCollection.OrderBy(x => x.Salary); foreach (var item in innerQuery) { Console.WriteLine($"Employee Id {item.Id} and employee name {item.Name} with manager id {item.Salary}"); } Console.ReadKey(); }
private static void UnionAndIntersect() { var employees = OfficeEmployee.GetEmployeeDetails(); var newEmployees = OfficeEmployee.GetEmployeeDetailsNew(); var emp = employees.Union(newEmployees, new EmployeeComparer()).ToList(); var intersetct = employees.Intersect(newEmployees, new EmployeeComparer()); }
private static void GroupOperation() { var employees = OfficeEmployee.GetEmployeeDetails(); var grpLambda = employees.GroupBy(x => new { x.Gender, x.Salary }).OrderBy(x => x.Key.Salary).ThenByDescending(x => x.Key.Gender) .Select(x => new { Employees = x, Gender = x.Key.Gender, Salary = x.Key.Salary }); var grpQuery = from emp in employees group emp by new { emp.Gender, emp.Salary } into empGroup orderby empGroup.Key.Salary ascending, empGroup.Key.Gender descending select new { Salary = empGroup.Key.Salary, Gender = empGroup.Key.Gender, Emp = empGroup }; }
static void Main(string[] args) { var employeeCollection = OfficeEmployee.GetEmployeeDetails(); IEnumerable <OfficeEmployee> maleEmployee = employeeCollection.Where(emp => emp.Gender.Equals(Gender.male)); foreach (var item in maleEmployee) { Console.WriteLine(item.Name); } Console.ReadKey(); }
private static void GroupJoinAndInnerJoin() { var employees = OfficeEmployee.GetEmployeeDetails(); var managers = Manager.GetManagers(); var linqEmpBob = from emp in employees join manager in managers on emp.ManagerId equals manager.Id into grp select grp; var bobEmployees = employees.Join(managers, emp => emp.ManagerId, manager => manager.Id, (emp, manager) => manager).Where(x => x.Id == 1); var groupEmployees = employees.GroupJoin(managers, emp => emp.ManagerId, manager => manager.Id, (emp, manager) => manager); }
private static void UnionAndIntersect() { var employees = OfficeEmployee.GetEmployeeDetails(); var newEmployees = OfficeEmployee.GetEmployeeDetailsNew(); var empUnion = employees.Union(newEmployees, new EmployeeComparer()).ToList(); foreach (var item in empUnion) { Console.WriteLine(item.Name); } Console.ReadLine(); var intersetct = employees.Intersect(newEmployees, new EmployeeComparer()); }
private static void MultipleGroupBy() { var empCollection = OfficeEmployee.GetEmployeeDetails(); var groupCollection = empCollection.GroupBy(emp => new { Gender = emp.Gender, ManagerId = emp.ManagerId }); foreach (var groupName in groupCollection) { string mangerId = "No Manager allocated"; if (groupName.Key.ManagerId != 0) { mangerId = groupName.Key.ManagerId.ToString(); } Console.WriteLine("\n Total Count of employees under Manager Id " + mangerId + " and which are " + groupName.Key.Gender + " is " + groupName.Count()); foreach (var elementsInGroup in groupName) { Console.WriteLine("\t" + elementsInGroup.Name); } } }
public static int FormADictionary(OfficeEmployee officeEmployee) { return(officeEmployee.Id); }
public static void AddEmployee(OfficeEmployee officeEmployee) { _officeEmployees.Add(officeEmployee); }