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