public IEnumerable <DepartmentHierarchyDTO> GetAdminDepartmentListHierarchy(Guid adminId) { List <DepartmentHierarchyDTO> result = new List <DepartmentHierarchyDTO>(); SessionManager.DoWork(session => { List <Guid> departmentIds = new List <Guid>(); Staff staff = session.Query <Staff>().SingleOrDefault(s => s.Id == adminId); if (staff != null) { departmentIds = staff.Departments.Select(d => d.Id).ToList(); } Guid buh = new Guid("77FC97D9-6EE2-410A-B730-0444FE7AF7AE"); List <Department> deptList = new List <Department>(); deptList = session.Query <Department>().Where(d => d.ParentDepartment.Id == buh && d.GCRecord == null && d.IsDisable == false).OrderBy(d => d.Name).ToList(); DepartmentHierarchyDTO phong = new DepartmentHierarchyDTO(); phong.Id = new Guid("00000000-0000-0000-0000-000000000001"); phong.Name = "Phòng ban"; result.Add(phong); DepartmentHierarchyDTO khoa = new DepartmentHierarchyDTO(); khoa.Id = new Guid("00000000-0000-0000-0000-000000000002"); khoa.Name = "Khoa/Viện/Trung tâm"; result.Add(khoa); DepartmentHierarchyDTO khac = new DepartmentHierarchyDTO(); khac.Id = new Guid("00000000-0000-0000-0000-000000000003"); khac.Name = "Khác"; result.Add(khac); List <DepartmentDTO> listDept = new List <DepartmentDTO>(); foreach (Department pl in deptList) { DepartmentDTO pd = pl.Map <DepartmentDTO>(); switch (pd.DepartmentType) { case 1: { pd.ParentId = new Guid("00000000-0000-0000-0000-000000000001"); } break; case 4: { pd.ParentId = new Guid("00000000-0000-0000-0000-000000000002"); } break; default: { pd.ParentId = new Guid("00000000-0000-0000-0000-000000000003"); } break; } listDept.Add(pd); } foreach (DepartmentHierarchyDTO dh in result) { dh.items = new List <DepartmentDTO>(); foreach (DepartmentDTO dt in listDept) { if (dt.ParentId == dh.Id) { if (departmentIds.Contains(dt.Id)) { dt.@checked = true; } dh.items.Add(dt); } } } }); return(result); }
public IEnumerable <DepartmentHierarchyDTO> GetMainDepartmentListHierarchy(Guid planDetailId) { List <DepartmentHierarchyDTO> result = new List <DepartmentHierarchyDTO>(); SessionManager.DoWork(session => { List <Guid> subDepartmentIds = new List <Guid>(); PlanKPIDetail pld = session.Query <PlanKPIDetail>().SingleOrDefault(p => p.Id == planDetailId); if (pld != null) { subDepartmentIds = pld.SubDepartments.Select(d => d.Id).ToList(); } Guid spkt = new Guid("E054A602-E077-444C-B843-E856D643CA7F"); List <Department> deptList = new List <Department>(); deptList = session.Query <Department>().Where(d => d.ParentDepartment.Id == spkt && d.GCRecord == null && d.IsDisable == false).OrderBy(d => d.Name).ToList(); DepartmentHierarchyDTO phong = new DepartmentHierarchyDTO(); phong.Id = new Guid("00000000-0000-0000-0000-000000000001"); phong.Name = "Phòng ban"; result.Add(phong); DepartmentHierarchyDTO khoa = new DepartmentHierarchyDTO(); khoa.Id = new Guid("00000000-0000-0000-0000-000000000002"); khoa.Name = "Khoa/Viện/Trung tâm"; result.Add(khoa); DepartmentHierarchyDTO khac = new DepartmentHierarchyDTO(); khac.Id = new Guid("00000000-0000-0000-0000-000000000003"); khac.Name = "Khác"; result.Add(khac); List <DepartmentDTO> listDept = new List <DepartmentDTO>(); foreach (Department pl in deptList) { DepartmentDTO pd = pl.Map <DepartmentDTO>(); switch (pd.DepartmentType) { case 1: { pd.ParentId = new Guid("00000000-0000-0000-0000-000000000001"); } break; case 4: { pd.ParentId = new Guid("00000000-0000-0000-0000-000000000002"); } break; default: { pd.ParentId = new Guid("00000000-0000-0000-0000-000000000003"); } break; } listDept.Add(pd); } foreach (DepartmentHierarchyDTO dh in result) { dh.items = new List <DepartmentDTO>(); foreach (DepartmentDTO dt in listDept) { if (dt.ParentId == dh.Id) { if (subDepartmentIds.Contains(dt.Id)) { dt.@checked = true; } dh.items.Add(dt); } } } }); return(result); }