/// <summary> /// Sets the value. /// </summary> /// <param name="key">The key.</param> /// <param name="value">The value.</param> public static void SetValue( string key, string value ) { var rockContext = new Rock.Data.RockContext(); var attributeService = new AttributeService( rockContext ); var attribute = attributeService.GetSystemSetting( key ); if ( attribute == null ) { attribute = new Rock.Model.Attribute(); attribute.FieldTypeId = FieldTypeCache.Read( new Guid( SystemGuid.FieldType.TEXT ) ).Id; attribute.EntityTypeQualifierColumn = Rock.Model.Attribute.SYSTEM_SETTING_QUALIFIER; attribute.EntityTypeQualifierValue = string.Empty; attribute.Key = key; attribute.Name = key.SplitCase(); attribute.DefaultValue = value; attributeService.Add( attribute ); } else { attribute.DefaultValue = value; } rockContext.SaveChanges(); AttributeCache.Flush( attribute.Id ); var settings = SystemSettings.Read(); var attributeCache = settings.Attributes.FirstOrDefault( a => a.Key.Equals( key, StringComparison.OrdinalIgnoreCase ) ); if ( attributeCache != null ) { attributeCache.DefaultValue = value; } else { settings.Attributes.Add( AttributeCache.Read( attribute.Id ) ); } }