/// <summary>Constructor.</summary> /// <param name="storeType">The type of persistence store.</param> /// <param name="id">The unique identifier of the settings (used as a prefix).</param> protected IsolatedStorageModelBase(IsolatedStorageType storeType, string id) { // Setup initial conditions. if (id.AsNullWhenEmpty() == null) throw new ArgumentNullException("id"); // Store values. Id = id; StoreType = storeType; Store = GetStore(storeType); // Set default values. AutoSave = true; AutoIncrementQuotaBy = 2; // Populate property values from store (if they exist). var propertyManager = Property; string serializedValues; if (Store.TryGetValue(id, out serializedValues)) { if (!serializedValues.IsNullOrEmpty(true)) propertyManager.Populate(serializedValues); } // Wire up events. propertyManager.PropertySet += delegate { ProcessAutoSave(); }; }
public Stub(IsolatedStorageType storeType) : base(storeType, "TestId") { }
public Stub(IsolatedStorageType storeType, string id) : base(storeType, id) { }
// Use the return value from this method within a 'Using' statement to release resources when done. private static IsolatedStorageFile GetStoreFile(IsolatedStorageType storeType) { switch (storeType) { case IsolatedStorageType.Application: return IsolatedStorageFile.GetUserStoreForApplication(); case IsolatedStorageType.Site: return IsolatedStorageFile.GetUserStoreForSite(); default: throw new NotSupportedException(storeType.ToString()); } }
private static IsolatedStorageSettings GetStore(IsolatedStorageType storeType) { switch (storeType) { case IsolatedStorageType.Application: return IsolatedStorageSettings.ApplicationSettings; case IsolatedStorageType.Site: return IsolatedStorageSettings.SiteSettings; default: throw new NotSupportedException(storeType.ToString()); } }