/// <summary> /// Load data into the WebTaxon instance. /// </summary> /// <param name='taxon'>Taxon.</param> /// <param name='dataReader'>An open data reader.</param> public static void LoadData(this WebTaxon taxon, DataReader dataReader) { taxon.AlertStatusId = dataReader.GetInt32(TaxonData.ALERT_STATUS); taxon.Author = dataReader.GetString(TaxonData.AUTHOR); if (dataReader.IsNotDbNull(TaxonData.CATEGORY)) { taxon.CategoryId = dataReader.GetInt32(TaxonData.CATEGORY); } taxon.ChangeStatusId = dataReader.GetInt32(TaxonData.CHANGE_STATUS); taxon.CommonName = dataReader.GetString(TaxonData.COMMON_NAME); taxon.CreatedBy = dataReader.GetInt32(TaxonCommon.CREATED_BY); taxon.CreatedDate = dataReader.GetDateTime(TaxonCommon.CREATED_DATE); taxon.Guid = dataReader.GetString(TaxonCommon.GUID); taxon.Id = dataReader.GetInt32(TaxonCommon.ID); taxon.IsInRevision = dataReader.IsNotDbNull(TaxonData.ONGOING_REVISION_ID); if (taxon.IsInRevision) { SetTaxonRevisionId(taxon, dataReader.GetInt32(TaxonData.ONGOING_REVISION_ID)); } taxon.IsPublished = dataReader.GetBoolean(TaxonCommon.IS_PUBLISHED); taxon.IsValid = dataReader.GetBoolean(TaxonData.IS_VALID); taxon.ModifiedBy = dataReader.GetInt32(TaxonCommon.MODIFIED_BY); taxon.SetModifiedByPerson(dataReader.GetString(TaxonData.PERSON_NAME)); taxon.ModifiedDate = dataReader.GetDateTime(TaxonCommon.MODIFIED_DATE); taxon.PartOfConceptDefinition = dataReader.GetString(TaxonData.CONCEPT_DEFINITION_PART); taxon.ScientificName = dataReader.GetString(TaxonData.SCIENTIFIC_NAME); if (dataReader.IsNotDbNull(TaxonCommon.SORT_ORDER)) { taxon.SortOrder = dataReader.GetInt32(TaxonCommon.SORT_ORDER); } taxon.ValidFromDate = dataReader.GetDateTime(TaxonCommon.VALID_FROM_DATE); taxon.ValidToDate = dataReader.GetDateTime(TaxonCommon.VALID_TO_DATE); if (taxon.DataFields == null) { taxon.DataFields = new List <WebDataField>(); } if (dataReader.HasColumn(TaxonPropertiesData.IS_MICROSPECIES)) { taxon.DataFields.Add(new WebDataField { Name = TaxonPropertiesData.IS_MICROSPECIES, Type = WebDataType.Boolean, Value = dataReader.GetBoolean(TaxonPropertiesData.IS_MICROSPECIES).ToString() }); } }