public override SiteSettingsPropertyValueCollection GetPropertyValues(SiteSettingsContext context, IEnumerable<SiteSettingsProperty> properties) { if (context == null) { throw new ArgumentNullException(); } if (properties == null) { throw new ArgumentNullException(nameof(properties)); } //return this.ExecuteQuery( // query => // { // var collection = new BlogSettingsPropertyValueCollection(); // using (var command = query.CreateCommand()) // { // command.CommandText = "SELECT [SettingName], [Data] FROM [SiteSettings]"; // using (var reader = command.ExecuteReader(CommandBehavior.SequentialAccess)) // { // while (reader.Read()) // { // ParseSettingsData(collection, properties, reader); // } // } // } // return collection; // }); return new SiteSettingsPropertyValueCollection(); }
public void Save() { if (HostingEnvironment.IsHosted) { Host.CheckAspNetPermission(AspNetHostingPermissionLevel.Low, ""); } lock (locker) { if (initialized) { try { if (values != null && values.HasDirty()) { var context = new SiteSettingsContext(); SiteSettings.SaveProperties(context, values.AsReadOnly()); } } finally { initialized = true; } } } }
public static void SaveProperties(SiteSettingsContext context, SiteSettingsPropertyValueCollection propertyValues) { Provider.SetPropertyValues(context, propertyValues); }
public static SiteSettingsPropertyValueCollection GetPropertyValues(SiteSettingsContext context, IEnumerable<SiteSettingsProperty> properties) { return Provider.GetPropertyValues(context, properties); }
public abstract void SetPropertyValues(SiteSettingsContext context, SiteSettingsPropertyValueCollection collection);
public abstract SiteSettingsPropertyValueCollection GetPropertyValues(SiteSettingsContext context, IEnumerable<SiteSettingsProperty> properties);
public override void SetPropertyValues(SiteSettingsContext context, SiteSettingsPropertyValueCollection collection) { if (context == null) { throw new ArgumentNullException(nameof(context)); } //this.ExecuteQuery( // query => // { // const StringComparison mode = StringComparison.InvariantCultureIgnoreCase; // var names = query.GetAllSettingNames(); // foreach (var item in collection.Where(prop => prop.IsDirty && !prop.Settings.ReadOnly)) // { // var propertyName = item.Settings.PropertyName; // var data = SerializeValue(item); // if (names.Any(name => String.Equals(name, propertyName, mode))) // { // query.UpdateSetting(propertyName, data); // } // else // { // query.InsertSetting(propertyName, data); // } // } // }, // true); }
public SiteSettingsManager(SiteSettingsContext db) { _db = db; }
private void Initialize() { if (initialized) { return; } if (HostingEnvironment.IsHosted) { Host.CheckAspNetPermission(AspNetHostingPermissionLevel.Low, ""); } lock (locker) { if (!initialized) { try { var context = new SiteSettingsContext(); values = SiteSettings.GetPropertyValues(context, Properties); } finally { initialized = true; } } } }