/// <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;
        }