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