/// <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();
 }
Example #2
0
        /// <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);
        }