Condividi tramite


Metodo IFilteredReplicaNotifyingChangeApplierTarget.GetNewMoveInItems

Ottiene un elenco di ID elemento che identificano gli elementi che si trovano nel filtro e che non sono contenuti nella conoscenza specificata.

Spazio dei nomi: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Sintassi

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

Parametri

  • baseKnowledge
    L'elenco di ID elemento restituito identifica gli elementi che si trovano nel filtro e che non sono contenuti in questa conoscenza.

Valore restituito

Elenco di ID elemento che identifica gli elementi che si trovano nel filtro e che non sono contenuti in baseKnowledge.

Osservazioni

Questo metodo viene utilizzato dall'oggetto di applicazione modifiche per determinare gli elementi che sono stati spostati nel filtro dopo la registrazione della conoscenza specificata da baseKnowledge. Ad esempio, una replica che archivia file multimediali viene filtrata affinché archivi solo i dati dei file valutati con almeno tre stelle. Un file è valutato con due stelle quando viene registrato baseKnowledge. L'utente modifica la valutazione del file scegliendo quattro stelle. Il file è stato spostato nel filtro e deve essere incluso nell'elenco restituito da questo metodo.

Esempio

Nell'esempio seguente vengono enumerati tutti gli elementi nell'archivio dei metadati. Un elemento viene aggiunto all'elenco di nuovi elementi trasferiti quando l'elemento si trova nel filtro utilizzato per la sincronizzazione e la versione di trasferimento dell'elemento in relazione al filtro non è contenuta nella conoscenza di base specificata.

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

Vedere anche

Riferimento

Interfaccia IFilteredReplicaNotifyingChangeApplierTarget
Membri IFilteredReplicaNotifyingChangeApplierTarget
Spazio dei nomi Microsoft.Synchronization