Método IFilteredReplicaNotifyingChangeApplierTarget.GetNewMoveInItems
Obtém uma lista de IDs de item que identificam os itens contidos no filtro e que não estão contidos no conhecimento especificado.
Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (em microsoft.synchronization.dll)
Sintaxe
'Declaração
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
A lista de IDs de item retornada identifica os itens que estão contidos no filtro e não estão contidos neste conhecimento.
Valor de retorno
Uma lista de IDs de item que identificam os itens contidos no filtro e não contidos em baseKnowledge.
Comentários
Este método é usado pelo aplicador de alterações para determinar quais itens foram movidos para o filtro depois que o conhecimento especificado por baseKnowledge foi registrado. Por exemplo, uma réplica que armazena arquivos de mídia é filtrada para armazenar apenas os dados de arquivos classificados como três estrelas ou melhor. Um arquivo classificado como duas estrelas quando baseKnowledge é registrado. O usuário altera a classificação no arquivo para quatro estrelas. O arquivo foi movido para o filtro e deve ser incluído na lista retornada por este método.
Exemplo
O exemplo a seguir enumera todos os itens no repositório de metadados. Um item é adicionado à lista de novos itens de movimentação quando o item está no filtro usado para a sincronização e a versão de movimento do item em relação ao filtro não está contida no conhecimento 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();
}
Consulte também
Referência
Interface IFilteredReplicaNotifyingChangeApplierTarget
Membros IFilteredReplicaNotifyingChangeApplierTarget
Namespace Microsoft.Synchronization