/// <summary> /// A method that obtains red list information. /// </summary> private void LoadRedListInformation() { SpeciesFactList speciesFacts; UserParameterSelection parameters; if (_organismGroupName.IsNull()) { _organismGroupName = String.Empty; _redlistCategoryName = String.Empty; _redlistCategoryShortString = String.Empty; _redlistCriteria = String.Empty; parameters = new UserParameterSelection(); parameters.Taxa.Add(_taxon); parameters.Factors.Add(FactorManager.GetFactor(FactorId.RedlistCategory)); parameters.Factors.Add(FactorManager.GetFactor(FactorId.RedlistCriteriaString)); parameters.Factors.Add(FactorManager.GetFactor(FactorId.Redlist_OrganismLabel1)); parameters.Periods.Add(_period); speciesFacts = SpeciesFactManager.GetSpeciesFactsByUserParameterSelection(parameters); if (speciesFacts.IsNotEmpty()) { foreach (SpeciesFact speciesFact in speciesFacts) { switch (speciesFact.Factor.Id) { case (Int32)FactorId.RedlistCategory: if (speciesFact.HasField1) { _redlistCategoryName = speciesFact.Field1.EnumValue.OriginalLabel; _redlistCategoryName = _redlistCategoryName.Remove(_redlistCategoryName.Length - 5); } if (speciesFact.HasField4) { _redlistCategoryShortString = speciesFact.Field4.StringValue; } break; case (Int32)FactorId.RedlistCriteriaString: if (speciesFact.HasField4 && speciesFact.Field4.StringValue.IsNotEmpty()) { _redlistCriteria = speciesFact.Field4.StringValue.Trim(); } break; case (Int32)FactorId.Redlist_OrganismLabel1: if (speciesFact.MainField.HasValue) { _organismGroupName = speciesFact.MainField.EnumValue.OriginalLabel; } break; } } } } }
/// <summary> /// Add user parameter selection to the data identifier list. /// </summary> /// <param name='userParameterSelection'>A user parameter selection.</param> public void AddRange(UserParameterSelection userParameterSelection) { if (userParameterSelection.IsNotNull()) { AddRange(userParameterSelection.Factors); AddRange(userParameterSelection.Hosts, DataTypeId.Host); AddRange(userParameterSelection.IndividualCategories); AddRange(userParameterSelection.Periods); AddRange(userParameterSelection.References); AddRange(userParameterSelection.Taxa); } }
/// <summary> /// Private constructor. Makes a clone of a UserParameterSelection. /// </summary> /// <param name="userParameterSelection">UserParameterSelection to clone</param> private UserParameterSelection(UserParameterSelection userParameterSelection) { _factors = new FactorList(true); _factors.AddRange(userParameterSelection.Factors); _hosts = new TaxonList(true); _hosts.AddRange(userParameterSelection.Hosts); _individualCategories = new IndividualCategoryList(true); _individualCategories.AddRange(userParameterSelection.IndividualCategories); _periods = new PeriodList(true); _periods.AddRange(userParameterSelection.Periods); _references = new ReferenceList(true); _references.AddRange(userParameterSelection.References); _taxa = new TaxonList(true); _taxa.AddRange(userParameterSelection.Taxa); }
/// <summary> /// Get species facts with species document information. /// </summary> private void GetSpeciesFacts() { UserParameterSelection parameters = new UserParameterSelection(); TaxonList taxa = new TaxonList(); taxa.Add(_taxon); parameters.Taxa = taxa; FactorSearchCriteria criteria = new FactorSearchCriteria(); List <Int32> factorIds = new List <Int32>(); factorIds.Add((Int32)FactorId.SpeciesInformationDocumentGroup); criteria.RestrictSearchToFactorIds = factorIds; criteria.RestrictReturnToScope = ArtDatabanken.Data.WebService.FactorSearchScope.LeafFactors; parameters.Factors = FactorManager.GetFactorsBySearchCriteria(criteria); _speciesFacts = SpeciesFactManager.GetSpeciesFactsByUserParameterSelection(parameters); }
/// <summary> /// Create a user data set instance. /// </summary> public UserDataSet() { _parameters = new UserParameterSelection(); _speciesFacts = new SpeciesFactList(); }