/// <summary>
        /// Get factors that matches search criteria.
        /// </summary>
        /// <param name="userContext">The user context.</param>
        /// <param name="searchCriteria">The factor search criteria.</param>
        /// <returns>Taxa that matches search criteria.</returns>
        public virtual FactorList GetFactors(IUserContext userContext,
                                             IFactorSearchCriteria searchCriteria)
        {
            List <WebFactor> webFactors;

            CheckTransaction(userContext);
            webFactors = WebServiceProxy.TaxonAttributeService.GetFactorsBySearchCriteria(GetClientInformation(userContext), GetFactorSearchCriteria(searchCriteria));
            return(GetFactors(userContext, webFactors));
        }
        /// <summary>
        /// Get web factor search criteria.
        /// </summary>
        /// <param name="searchCriteria">Search criteria.</param>
        /// <returns>Web search criteria.</returns>
        private WebFactorSearchCriteria GetFactorSearchCriteria(IFactorSearchCriteria searchCriteria)
        {
            WebFactorSearchCriteria webFactorSearchCriteria = new WebFactorSearchCriteria
            {
                IsIdInNameSearchString    = searchCriteria.IsIdInNameSearchString,
                NameSearchString          = GetStringSearchCriteria(searchCriteria.NameSearchString),
                RestrictReturnToScope     = searchCriteria.RestrictReturnToScope,
                RestrictSearchToFactorIds = searchCriteria.RestrictSearchToFactorIds,
                RestrictSearchToScope     = searchCriteria.RestrictSearchToScope
            };

            return(webFactorSearchCriteria);
        }
 /// <summary>
 /// Get factors that match the search criteria.
 /// </summary>
 /// <param name="userContext">
 /// Information about the user that makes this method call.
 /// </param>
 /// <param name="searchCriteria">The factor search criteria.</param>
 /// <returns>All factors.</returns>
 public virtual FactorList GetFactors(IUserContext userContext,
                                      IFactorSearchCriteria searchCriteria)
 {
     return(DataSource.GetFactors(userContext, searchCriteria));
 }