VCardCard

VCardCard class

Represents a single card extracted from a VCard file.

public class VCardCard : VCardRecordset

Properties

Name Description
CalendarRecordset { get; } Gets the calendar records.
CommunicationRecordset { get; } Gets the communication records.
Count { get; } Gets the number of metadata properties.
DeliveryAddressingRecordset { get; } Gets the delivery addressing records.
ExplanatoryRecordset { get; } Gets the explanatory records.
ExtensionRecords { get; } Gets the private extension records.
GeneralRecordset { get; } Gets the general records.
GeographicalRecordset { get; } Gets the geographical records.
IdentificationRecordset { get; } Gets the identification records.
Item { get; } Gets the MetadataProperty with the specified name.
Keys { get; } Gets a collection of the metadata property names.
MetadataType { get; } Gets the metadata type.
OrganizationalRecordset { get; } Gets the organizational records.
PropertyDescriptors { get; } Gets a collection of descriptors that contain information about properties accessible through the GroupDocs.Metadata search engine.
SecurityRecordset { get; } Gets the security records.

Methods

Name Description
virtual AddProperties(Func<MetadataProperty, bool>, PropertyValue) Adds known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well.
Contains(string) Determines whether the package contains a metadata property with the specified name.
FilterByGroup(string) Filters all vCard records by the group name passed as a parameter. For more information please see the method.
FilterHomeTags() Filters all vCard records marked with the HOME tag.
FilterPreferred() Filters the preferred records.
FilterWorkTags() Filters all vCard records marked with the WORK tag.
virtual FindProperties(Func<MetadataProperty, bool>) Finds the metadata properties satisfying the specified predicate. The search is recursive so it affects all nested packages as well.
GetAvailableGroups() Gets the available group names.
GetEnumerator() Returns an enumerator that iterates through the collection.
virtual RemoveProperties(Func<MetadataProperty, bool>) Removes metadata properties satisfying the specified predicate.
virtual Sanitize() Removes writable metadata properties from the package. The operation is recursive so it affects all nested packages as well.
virtual SetProperties(Func<MetadataProperty, bool>, PropertyValue) Sets known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. This method is a combination of AddProperties and UpdateProperties. If an existing property satisfies the predicate its value is updated. If there is a known property missing in the package that satisfies the predicate it is added to the package.
virtual UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Updates known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well.

Remarks

Learn more

Examples

This example shows how to use vCard property filters.

public static void Run()
{
    using (Metadata metadata = new Metadata(Constants.InputVcf))
    {
        var root = metadata.GetRootPackage<VCardRootPackage>();

        foreach (var vCard in root.VCardPackage.Cards)
        {
            // Print most preferred work phone numbers and work emails
            var filtered = vCard.FilterWorkTags().FilterPreferred();
            PrintArray(filtered.CommunicationRecordset.Telephones);
            PrintArray(filtered.CommunicationRecordset.Emails);
        }
    }
}

private static void PrintArray(string[] values)
{
    if (values != null)
    {
        foreach (string value in values)
        {
            Console.WriteLine(value);
        }
    }
}

See Also