public void getDepartmentSector(List<EmployeeAttrib> empAttribs, ref List<Department> all_departments, ref List<Sector> all_sectors) { SQLDB db = new SQLDB(); foreach (EmployeeAttrib empAtr in empAttribs) { Department department = db.getDepartment(empAtr.EmployeeID, empAtr.StartPeriod, empAtr.BeginDate, empAtr.EndDate); if (department != null) { Department d = all_departments.Find(delegate(Department dep) { return dep.DepartmentID.Equals(department.DepartmentID); }); if (d == null) all_departments.Add(department); } List<Sector> sectors = db.getSector(empAtr.EmployeeID, empAtr.StartPeriod, empAtr.BeginDate, empAtr.EndDate); if (sectors != null) { foreach (Sector sector in sectors) { Sector s = all_sectors.Find(delegate(Sector sec) { return sec.SectorID.Equals(sector.SectorID); }); if (s == null) all_sectors.Add(sector); } } } DepartmentComparerASC dc = new DepartmentComparerASC(); all_departments.Sort(dc); SectorComparerASC sc = new SectorComparerASC(); all_sectors.Sort(sc); }