UpdateProperties
Metadata.UpdateProperties method
Updates known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well.
public int UpdateProperties(Func<MetadataProperty, bool> predicate, PropertyValue value)
Parameter | Type | Description |
---|---|---|
predicate | Func`2 | A function to test each metadata property for a condition. |
value | PropertyValue | A new value for the filtered properties. |
Return Value
The number of affected properties.
Remarks
Please note that GroupDocs.Metadata implicitly checks the type of each filtered property. It’s impossible to update a property with a value having an inappropriate type.
Learn more
- More examples demonstrating usages of this method: Updating metadata
Examples
using (Metadata metadata = new Metadata(Constants.InputXlsx))
{
if (metadata.FileFormat != FileFormat.Unknown && !metadata.GetDocumentInfo().IsEncrypted)
{
// Update the file creation date/time if the existing value is older than 3 days
var affected = metadata.UpdateProperties(p => p.Tags.Contains(Tags.Time.Created) &&
p.Value.Type == MetadataPropertyType.DateTime &&
p.Value.ToStruct<DateTime>() < threeDaysAgo, new PropertyValue(today));
Console.WriteLine("Affected properties: {0}", affected);
metadata.Save(Constants.OutputXlsx);
}
}
See Also
- delegate Func<T,TResult>
- class MetadataProperty
- class PropertyValue
- class Metadata
- namespace GroupDocs.Metadata
- assembly GroupDocs.Metadata