Compartir a través de


IFilteredReplicaNotifyingChangeApplierTarget.GetNewMoveInItems Método

Obtiene una lista de identificadores de elemento que identifican los elementos que están en el filtro y no se encuentran en el conocimiento especificado.

Espacio de nombres: Microsoft.Synchronization
Ensamblado: Microsoft.Synchronization (en microsoft.synchronization.dll)

Sintaxis

'Declaración
Function GetNewMoveInItems ( _
    baseKnowledge As SyncKnowledge _
) As IEnumerator(Of SyncId)
'Uso
Dim instance As IFilteredReplicaNotifyingChangeApplierTarget
Dim baseKnowledge As SyncKnowledge
Dim returnValue As IEnumerator(Of SyncId)

returnValue = instance.GetNewMoveInItems(baseKnowledge)
IEnumerator<SyncId> GetNewMoveInItems (
    SyncKnowledge baseKnowledge
)
IEnumerator<SyncId^>^ GetNewMoveInItems (
    SyncKnowledge^ baseKnowledge
)
IEnumerator<SyncId> GetNewMoveInItems (
    SyncKnowledge baseKnowledge
)
function GetNewMoveInItems (
    baseKnowledge : SyncKnowledge
) : IEnumerator<SyncId>

Parámetros

  • baseKnowledge
    La lista de identificadores de elemento devuelta identifica los elementos que están en el filtro y no se encuentran en este conocimiento.

Valor devuelto

Lista de identificadores de elemento que identifica los elementos que están en el filtro y no se encuentran en este conocimiento baseKnowledge.

Notas

El aplicador de cambios utiliza este método para determinar qué elementos han pasado al filtro después de que se procesara el conocimiento especificado por baseKnowledge. Por ejemplo, una réplica que almacena archivos multimedia se filtra para almacenar solo los datos de los archivos con una valoración de tres estrellas o más. Un archivo tiene una valoración de dos estrellas cuando se registra baseKnowledge. El usuario cambia la valoración del archivo a cuatro estrellas. El archivo ha pasado al filtro y se debe incluir en la lista devuelta por este método.

Ejemplo

En el ejemplo siguiente se enumeran todos los elementos en el almacén de metadatos. Un elemento se agrega a la lista de elementos nuevos incluidos cuando el elemento está en el filtro utilizado para la sincronización y la versión de movimiento del elemento respecto al filtro no está en el conocimiento base especificado.

Public Function GetNewMoveInItems(ByVal baseKnowledge As SyncKnowledge) As IEnumerator(Of SyncId) Implements IFilteredReplicaNotifyingChangeApplierTarget.GetNewMoveInItems
    Dim newMoveInIdList As New List(Of SyncId)()
    Dim allItems As IEnumerable(Of ItemMetadata) = _ContactStore.ContactReplicaMetadata.GetAllItems(False)
    Dim mappedBaseKnowledge As SyncKnowledge = _ContactStore.ContactReplicaMetadata.GetKnowledge().MapRemoteKnowledgeToLocal(baseKnowledge)
    For Each itemMeta As ItemMetadata In allItems
        Dim filterChange As FilterChange = _ContactStore.GetTrackedFilterMetadata(itemMeta, _filterForSync)
        If filterChange.IsMoveIn Then
            If Not mappedBaseKnowledge.Contains(_ContactStore.ContactReplicaMetadata.ReplicaId, itemMeta.GlobalId, filterChange.MoveVersion) Then
                newMoveInIdList.Add(itemMeta.GlobalId)
            End If
        End If
    Next
    Return newMoveInIdList.GetEnumerator()
End Function
public IEnumerator<SyncId>  GetNewMoveInItems(SyncKnowledge baseKnowledge)
{
     List<SyncId> newMoveInIdList = new List<SyncId>();
    IEnumerable<ItemMetadata> allItems = _ContactStore.ContactReplicaMetadata.GetAllItems(false);
    SyncKnowledge mappedBaseKnowledge = _ContactStore.ContactReplicaMetadata.GetKnowledge().MapRemoteKnowledgeToLocal(baseKnowledge);
    foreach (ItemMetadata itemMeta in allItems)
    {
        FilterChange filterChange = _ContactStore.GetTrackedFilterMetadata(itemMeta, _filterForSync);
        if (filterChange.IsMoveIn)
        {
            if (!mappedBaseKnowledge.Contains(_ContactStore.ContactReplicaMetadata.ReplicaId, itemMeta.GlobalId, filterChange.MoveVersion))
            {
                newMoveInIdList.Add(itemMeta.GlobalId);
            }
        }
    }
    return newMoveInIdList.GetEnumerator();
}

Vea también

Referencia

IFilteredReplicaNotifyingChangeApplierTarget Interfaz
IFilteredReplicaNotifyingChangeApplierTarget Miembros
Microsoft.Synchronization Espacio de nombres