/// <summary>
 /// returns the value of a specific IsolatedStorage property. PropertyType options are: lastJokeUpdate or lastCategoryUpdate or userPermittedAppToConnectToInternet
 /// </summary>
 /// <param name="propertyName"></param>
 /// <returns></returns>
 protected String getIsolatedStorageProperty(IsolatedStorageSettingsProperties propertyName)
 {
     String propertyNameString = propertyName.ToString();
     if (isolatedStorageSettings.Contains(propertyName.ToString()) == false)
     {
         if (propertyName == IsolatedStorageSettingsProperties.userPermittedAppToConnectToInternet)
         {
             isolatedStorageSettings.Add(propertyName.ToString(), true);
             isolatedStorageSettings.Save();
             return "true";
         }
         else
         {
             isolatedStorageSettings.Add(propertyName.ToString(), "");
             isolatedStorageSettings.Save();
             return "";
         }
     }
     else
     {
         return isolatedStorageSettings[propertyName.ToString()].ToString();
     }
 }
        /// <summary>
        /// Specific method for updating the dateAdded for categories or jokes.
        /// code Credit: http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage-store-data-in-isolatedstoragesettings
        /// </summary>
        /// <param name="dataFromDatabase">New update value</param>
        /// <param name="propertyType">the property we are updating.</param>
        protected void updateLastPropertyUpdatedTime(string dataFromDatabase, IsolatedStorageSettingsProperties propertyType)
        {
            //To find find the newest entry we will use a very crude method of searching for the first index of the columnName 'dateAdded'
            //in the data we recieved from the database, which is ordered newest to oldest.
            int positionOfBegginingOfDate = dataFromDatabase.IndexOf(",\"dateAdded\":") + 14;
            int positionOfEndOfDate = dataFromDatabase.IndexOf("\"", positionOfBegginingOfDate);
            string newestDateFromProperty = dataFromDatabase.Substring(positionOfBegginingOfDate, positionOfEndOfDate - positionOfBegginingOfDate);

            updateIsolatedStorageProperty(newestDateFromProperty, propertyType);
        }
        /// <summary>
        /// General method to update settings in isolated storage.
        /// </summary>
        /// <param name="value"></param>
        /// <param name="propertyType"></param>
        protected void updateIsolatedStorageProperty(string value, IsolatedStorageSettingsProperties propertyType)
        {
            //Add newestDateFromJokes to isolated storage settings
            if (isolatedStorageSettings.Contains(propertyType.ToString()) == false)
            {
                //this is a sanity check, when we call the query we should have already created lastJokeUpdate in the settings.
                isolatedStorageSettings.Add(propertyType.ToString(), value);
            }
            else
            {
                isolatedStorageSettings[propertyType.ToString()] = value;
            }

            isolatedStorageSettings.Save();
        }