events - retained - Cómo detectar la restauración del elemento en un evento ItemAdded() en SharePoint
sharepoint 365 recycle bin (5)
Sé que cuando se restaura un artículo de la papelera de reciclaje, se dispara el evento ItemAdded. Sin embargo, ¿cómo puedo detectar si el artículo agregado proviene de la papelera de reciclaje o si es un archivo nuevo?
Los elementos en la papelera de reciclaje tienen un DeletedDate que puede estar disponible en las propiedades. BeforeProperties
Puede verificar la Fecha de creación del artículo. Los elementos del contenedor de reciclaje deben tener una fecha de creación anterior.
Si desea detectarlo manualmente, luego verifique la propiedad del documento: los datos creados son diferentes. Para un documento, incluso si fue arrojado a la papelera de reciclaje, los datos creados son los mismos. Si desea hacerlo a través de un tipo de flujo de trabajo, puede establecer la propiedad como punto de referencia. más detalles, por favor, encuéntrelo usted mismo.
Compruebe el valor de la propiedad SPItemEventProperties.ListItemId:
- Si es 0, entonces es un nuevo elemento;
- Si no es 0, entonces es un elemento que se restaura desde la Papelera de reciclaje.
Este es un hilo muy antiguo, pero aparece en los mejores resultados para búsquedas sobre el tema.
De mis experimentos con SP2010, parece propiedades. AfterProperties está vacío cuando el elemento proviene de la Papelera de reciclaje, mientras que está lleno en un elemento nuevo real.
Entonces, un simple bloqueo como este haría el truco:
if (!properties.AfterProperties.Cast<DictionaryEntry>().Any())
{
// From Recycle Bin!
}
else
{
// This item is really new.
}
No he probado MOSS o SP2013 todavía.