/// <summary> /// Create a Taxon tree node instance. /// </summary> /// <param name='taxon'>Taxon belonging to this taxon tree node.</param> public TaxonTreeNode(Taxon taxon) : base(taxon.Id, taxon.SortOrder) { _taxon = taxon; _children = new TaxonTreeNodeList(); _parents = new TaxonTreeNodeList(); }
/// <summary> /// Get information about taxon trees that matches the search criteria. /// </summary> /// <param name="searchCriteria">The taxon trees search criteria.</param> /// <returns>Taxon trees</returns> /// <exception cref="ArgumentException">Thrown if searchCriteria is null.</exception> public static TaxonTreeNodeList GetTaxonTreesBySearchCriteria(TaxonTreeSearchCriteria searchCriteria) { TaxonTreeNodeList taxonTrees; List <WebTaxonTreeNode> webTaxonTrees; WebTaxonTreeSearchCriteria webSearchCriteria; // Check arguments. searchCriteria.CheckNotNull("searchCriteria"); // Get data from web service. webSearchCriteria = GetTaxonTreeSearchCriteria(searchCriteria); webTaxonTrees = WebServiceClient.GetTaxonTreesBySearchCriteria(webSearchCriteria); taxonTrees = new TaxonTreeNodeList(); foreach (WebTaxonTreeNode webTaxonTree in webTaxonTrees) { taxonTrees.Add(GetTaxonTree(webTaxonTree)); } return(taxonTrees); }