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