public IFieldStorage BindStorage(ContentPart contentPart, ContentPartFieldDefinition partFieldDefinition) { var partName = XmlConvert.EncodeLocalName(contentPart.PartDefinition.Name); var fieldName = XmlConvert.EncodeLocalName(partFieldDefinition.Name); var infosetPart = contentPart.As<InfosetPart>(); return new SimpleFieldStorage( (name, valueType) => Get(infosetPart.Infoset.Element, partName, fieldName, name), (name, valueType, value) => { Set(infosetPart.Infoset.Element, partName, fieldName, name, value); var context = new FieldStorageEventContext { FieldName = partFieldDefinition.Name, PartName = contentPart.PartDefinition.Name, Value = value, ValueName = name, ValueType = valueType, Content = infosetPart }; foreach(var fieldEvent in _events) { fieldEvent.SetCalled(context); } } ); }
public void SetCalled(FieldStorageEventContext context) { context.Content.ContentItem.VersionRecord.Published = false; }