/// <summary> /// Get all species fact qualities. /// </summary> /// <param name="context">Web service request context.</param> /// <returns>All species fact qualities.</returns> public static List <WebSpeciesFactQuality> GetSpeciesFactQualities(WebServiceContext context) { List <WebSpeciesFactQuality> speciesFactQualities; String cacheKey; WebSpeciesFactQuality speciesFactQuality; // Get cached information. speciesFactQualities = null; cacheKey = Settings.Default.SpeciesFactQualityCacheKey; if (!context.IsInTransaction()) { speciesFactQualities = (List <WebSpeciesFactQuality>)context.GetCachedObject(cacheKey); } if (speciesFactQualities.IsNull()) { // Get information from database. speciesFactQualities = new List <WebSpeciesFactQuality>(); using (DataReader dataReader = context.GetTaxonAttributeDatabase().GetSpeciesFactQualities()) { while (dataReader.Read()) { speciesFactQuality = new WebSpeciesFactQuality(); speciesFactQuality.LoadData(dataReader); speciesFactQualities.Add(speciesFactQuality); } if (!context.IsInTransaction()) { // Add information to cache. context.AddCachedObject(cacheKey, speciesFactQualities, DateTime.Now + new TimeSpan(12, 0, 0), CacheItemPriority.AboveNormal); } } } return(speciesFactQualities); }