Beispiel #1
0
        /// <summary>
        /// Get all species activities.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <returns>All species activities.</returns>
        public static List <WebSpeciesActivity> GetSpeciesActivities(WebServiceContext context)
        {
            List <WebSpeciesActivity> speciesActivities;
            String             cacheKey;
            WebSpeciesActivity speciesActivity;

            // Get cached information.
            cacheKey          = Settings.Default.SpeciesActivitiesCacheKey + ":" + context.Locale.ISOCode;
            speciesActivities = (List <WebSpeciesActivity>)(context.GetCachedObject(cacheKey));

            if (speciesActivities.IsEmpty())
            {
                // Data not in cache. Get information from database.
                speciesActivities = new List <WebSpeciesActivity>();

                using (DataReader dataReader = context.GetSpeciesObservationDatabase().GetSpeciesActivities(context.Locale.Id))
                {
                    while (dataReader.Read())
                    {
                        speciesActivity = new WebSpeciesActivity();
                        speciesActivity.LoadData(dataReader);
                        speciesActivities.Add(speciesActivity);
                    }
                }

                // Add information to cache.
                context.AddCachedObject(cacheKey,
                                        speciesActivities,
                                        DateTime.Now + new TimeSpan(1, 0, 0, 0),
                                        CacheItemPriority.High);
            }

            return(speciesActivities);
        }
 /// <summary>
 /// Populate species activity with content from data reader.
 /// </summary>
 /// <param name="speciesActivity">Species activity that will be populated.</param>
 /// <param name="dataReader">Data source that will populate the species activity.</param>
 public static void LoadData(this WebSpeciesActivity speciesActivity,
                             DataReader dataReader)
 {
     speciesActivity.CategoryId = dataReader.GetInt32(SpeciesActivityData.CATEGORY_ID, 0);
     speciesActivity.Guid       = dataReader.GetString(SpeciesActivityData.GUID);
     speciesActivity.Id         = dataReader.GetInt32(SpeciesActivityData.ID);
     speciesActivity.Identifier = dataReader.GetString(SpeciesActivityData.IDENTIFIER);
     speciesActivity.Name       = dataReader.GetString(SpeciesActivityData.NAME);
     speciesActivity.TaxonIds   = new List <Int32>();
     speciesActivity.TaxonIds.Add(dataReader.GetInt32(SpeciesActivityData.TAXON_ID, (Int32)(TaxonId.Life)));
 }
Beispiel #3
0
        public void LoadData()
        {
            WebSpeciesActivity speciesActivity;

            using (SpeciesObservationServer database = new SpeciesObservationServer())
            {
                using (DataReader dataReader = database.GetSpeciesActivities((Int32)(LocaleId.sv_SE)))
                {
                    while (dataReader.Read())
                    {
                        speciesActivity = new WebSpeciesActivity();
                        speciesActivity.LoadData(dataReader);
                        Assert.IsNotNull(speciesActivity);
                        Assert.IsTrue(0 <= speciesActivity.CategoryId);
                        Assert.IsTrue(speciesActivity.Guid.IsNotEmpty());
                        Assert.IsTrue(0 <= speciesActivity.Id);
                        Assert.IsTrue(speciesActivity.Identifier.IsNotEmpty());
                        Assert.IsTrue(speciesActivity.Name.IsNotEmpty());
                        Assert.IsTrue(speciesActivity.TaxonIds.IsNotEmpty());
                    }
                }
            }
        }