Example #1
0
        public void PrintAllWithParent(EmployeeComponent parent)
        {
            List <EmployeeComponent> employeesList = new List <EmployeeComponent>();

            _output.Print($"There are all subordinates of {parent}");
            foreach (EmployeeComponent employeeComponent in parent.FindAllSubOrdinate())
            {
                _output.Print(employeeComponent.ToString());
            }
        }
Example #2
0
        public List <EmployeeComponent> FindAllSubOrdinate(List <EmployeeComponent> subOrdinateList = null)
        {
            if (subOrdinateList == null)
            {
                subOrdinateList = new List <EmployeeComponent>();
            }
            IEnumerator iterator = CreateIterator();
            bool        hasNext  = iterator.MoveNext();

            while (hasNext)
            {
                EmployeeComponent employee = (EmployeeComponent)iterator.Current;
                subOrdinateList.Add(employee);
                subOrdinateList = employee.FindAllSubOrdinate(subOrdinateList);
                hasNext         = iterator.MoveNext();
            }

            return(subOrdinateList);
        }