/// <summary> /// /// </summary> /// <param name="isAgentOnline"></param> /// <returns></returns> private List<DepartmentDTO> GetDepartments(out bool isAgentOnline) { isAgentOnline = false; List<DepartmentDTO> departments = new List<DepartmentDTO>(); var usersOnline = VisitorsOnlineApi.Instance.GetVisitorsOnline(PortalSettings.PortalId); var deps = DepartmentManager.Instance.GetDepartmentsForLiveChat(PortalSettings.PortalId); foreach (DepartmentInfo dep in deps) { var department = new DepartmentDTO() { DepartmentID = dep.DepartmentID, DepartmentName = dep.DepartmentName, IsAgentOnline = false }; var agents = DepartmentAgentManager.Instance.GetDepartmentAgents(dep.DepartmentID); if (usersOnline != null && agents != null) { isAgentOnline = usersOnline.Any(u => agents.Select(a => a.UserID).Contains(u.UserID)); department.IsAgentOnline = isAgentOnline; } departments.Add(department); } return departments; }