Share via


ContactAnnotationStore.CreateAnnotationListAsync Method

Definition

Overloads

CreateAnnotationListAsync()

Asynchronously creates a ContactAnnotationList.

CreateAnnotationListAsync(String)

Asynchronously creates a ContactAnnotationList and associates it with the specified user data account ID.

CreateAnnotationListAsync()

Asynchronously creates a ContactAnnotationList.

public:
 virtual IAsyncOperation<ContactAnnotationList ^> ^ CreateAnnotationListAsync() = CreateAnnotationListAsync;
/// [Windows.Foundation.Metadata.Overload("CreateAnnotationListAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<ContactAnnotationList> CreateAnnotationListAsync();
[Windows.Foundation.Metadata.Overload("CreateAnnotationListAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<ContactAnnotationList> CreateAnnotationListAsync();
function createAnnotationListAsync()
Public Function CreateAnnotationListAsync () As IAsyncOperation(Of ContactAnnotationList)

Returns

The newly created ContactAnnotationList.

Attributes

Windows requirements

App capabilities
contactsSystem

Examples

The following example provides reusable methods for creating an annotation list, deleting a specific annotation list, and deleting all annotation lists in a store.

public async Task<ContactAnnotationList> CreateAnnotationList()
{
    // Get the data store.
    ContactAnnotationStore store = await ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);

    // Create a new list.
    ContactAnnotationList list = await store.CreateAnnotationListAsync();

    // Find the list to verify it was created.
    IReadOnlyList<ContactAnnotationList> lists = await store.FindAnnotationListsAsync();

    for (int i = 0; i < lists.Count; i++)
    {
        // Do the IDs match?
        if (list.Id == lists[i].Id)
        {
            // Found it! Return the new list.
            return(list);
        }
    }

    // List not created, return null.
    return(null);
}

public async Task<Boolean> DeleteAnnotationList(string listId)
{
    // Get the store.
    ContactAnnotationStore store = await ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);

    // Find the list.
    ContactAnnotationList list = await store.GetAnnotationListAsync(listId);

    // Make sure we got it.
    if (list.Id == listId)
    {
        // Delete the list.
        await list.DeleteAsync();
        return true;
    }

    return false;
}

public async Task<Boolean> DeleteAllAnnotationLists()
{
    // Get the store.
    ContactAnnotationStore store = await ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);

    IReadOnlyList<ContactAnnotationList> lists = await store.FindAnnotationListsAsync();

    // Make sure at least one annotation list exists.
    if (lists.Count > 0)
    {
        // Find the list.
        for (int i = 0; i < lists.Count; i++)
        {
            await lists[i].DeleteAsync();
        }

        return true;
    }

    return false;
}

See also

Applies to

CreateAnnotationListAsync(String)

Asynchronously creates a ContactAnnotationList and associates it with the specified user data account ID.

public:
 virtual IAsyncOperation<ContactAnnotationList ^> ^ CreateAnnotationListAsync(Platform::String ^ userDataAccountId) = CreateAnnotationListAsync;
/// [Windows.Foundation.Metadata.Overload("CreateAnnotationListInAccountAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<ContactAnnotationList> CreateAnnotationListAsync(winrt::hstring const& userDataAccountId);
[Windows.Foundation.Metadata.Overload("CreateAnnotationListInAccountAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<ContactAnnotationList> CreateAnnotationListAsync(string userDataAccountId);
function createAnnotationListAsync(userDataAccountId)
Public Function CreateAnnotationListAsync (userDataAccountId As String) As IAsyncOperation(Of ContactAnnotationList)

Parameters

userDataAccountId
String

Platform::String

winrt::hstring

The ID for the user data account with which to associate the new ContactAnnotationList. The user data account must be owned by this app.

Returns

The newly created ContactAnnotationList.

Attributes

Windows requirements

App capabilities
contactsSystem

Examples

The following example provides reusable methods for creating an annotation list, deleting a specific annotation list, and deleting all annotation lists in a store.

public async Task<ContactAnnotationList> CreateAnnotationList()
{
    // Get the data store.
    ContactAnnotationStore store = await ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);

    // Create a new list.
    ContactAnnotationList list = await store.CreateAnnotationListAsync();

    // Find the list to verify it was created.
    IReadOnlyList<ContactAnnotationList> lists = await store.FindAnnotationListsAsync();

    for (int i = 0; i < lists.Count; i++)
    {
        // Do the IDs match?
        if (list.Id == lists[i].Id)
        {
            // Found it! Return the new list.
            return(list);
        }
    }

    // List not created, return null.
    return(null);
}

public async Task<Boolean> DeleteAnnotationList(string listId)
{
    // Get the store.
    ContactAnnotationStore store = await ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);

    // Find the list.
    ContactAnnotationList list = await store.GetAnnotationListAsync(listId);

    // Make sure we got it.
    if (list.Id == listId)
    {
        // Delete the list.
        await list.DeleteAsync();
        return true;
    }

    return false;
}

public async Task<Boolean> DeleteAllAnnotationLists()
{
    // Get the store.
    ContactAnnotationStore store = await ContactManager.RequestAnnotationStoreAsync(ContactAnnotationStoreAccessType.AppAnnotationsReadWrite);

    IReadOnlyList<ContactAnnotationList> lists = await store.FindAnnotationListsAsync();

    // Make sure at least one annotation list exists.
    if (lists.Count > 0)
    {
        // Find the list.
        for (int i = 0; i < lists.Count; i++)
        {
            await lists[i].DeleteAsync();
        }

        return true;
    }

    return false;
}

Remarks

The user data account specified in userDataAccountId must be owned this app.

See also

Applies to