Exemplo n.º 1
0
        public ICompanyBuilder BuildEmployee(string name, double salary, string title, string parentGroup)
        {
            var companySearch = new CompanyGroupSearchVisitor
            {
                Query = parentGroup
            };

            _company.AcceptVisitor(companySearch);

            var results = companySearch.GetResults();

            if (!results.Any())
            {
                Console.WriteLine("No group contains the search term \"" + parentGroup + "\".");
            }

            else if (results.Count > 1)
            {
                Console.WriteLine("More than one group contains the search term \"" + parentGroup +
                                  "\". Please refine your search.");
            }

            else
            {
                results[0].AddChild(new Employee(name, salary, title));
            }

            return(this);
        }
Exemplo n.º 2
0
 public IList <AbstractCompanyEntity> Search(string query)
 {
     _visitor.Query = query;
     _company.AcceptVisitor(_visitor);
     return(_visitor.GetResults());
 }
Exemplo n.º 3
0
 public static void Print(AbstractCompanyEntity company)
 {
     company.AcceptVisitor(Visitor);
 }