Freigeben über


IFilteredReplicaNotifyingChangeApplierTarget.GetNewMoveInItems-Methode

Ruft eine Liste von Element-IDs zur Identifizierung der Elemente ab, die im Filter enthalten sind, jedoch nicht im angegebenen Wissen.

Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Syntax

'Declaration
Function GetNewMoveInItems ( _
    baseKnowledge As SyncKnowledge _
) As IEnumerator(Of SyncId)
'Usage
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>

Parameter

  • baseKnowledge
    Die zurückgegebene Liste von Element-IDs identifiziert Elemente, die im Filter sind und nicht in diesem Wissen enthalten sind.

Rückgabewert

Eine Liste von Element-IDs zur Identifizierung der Elemente, die im Filter enthalten sind, jedoch nicht in baseKnowledge.

Hinweise

Mit dieser Methode ermittelt der Änderungsanwender die Elemente, die nach Aufzeichnen des von baseKnowledge angegebenen Wissens in den Filter verschoben wurden. Beispielsweise wird ein Replikat, das Mediendateien speichert, so gefiltert, dass nur Daten für mit mindestens drei Sternen bewertete Dateien gespeichert werden. Eine Datei wird mit zwei Sternen bewertet, wenn baseKnowledge aufgezeichnet wird. Der Benutzer ändert die Bewertung für die Datei in vier Sterne. Die Datei wurde in den Filter verschoben und muss in der Liste enthalten sein, die von dieser Methode zurückgegeben wird.

Beispiel

Im folgenden Beispiel werden alle Elemente im Metadatenspeicher aufgelistet. Ein Element wird der Liste der neu hineinverschobenen Elemente hinzugefügt, wenn es sich im für die Synchronisierung verwendeten Filter befindet und die verschobene Version des Elements im Verhältnis zum Filter nicht im angegebenen Basiswissen enthalten ist.

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();
}

Siehe auch

Verweis

IFilteredReplicaNotifyingChangeApplierTarget-Schnittstelle
IFilteredReplicaNotifyingChangeApplierTarget-Member
Microsoft.Synchronization-Namespace