コード例 #1
0
        /// <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()
                });
            }
        }