/// <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))); }
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()); } } } }