Pregunta

Estoy encontrando algunos problemas actualizando algunos artículos en mi manejador de eventos.

Tengo una biblioteca de documentos en la que tengo carpetas, elementos y carpeta de contenido de contenido PRICA, que se deriva de la carpeta y tiene el mismo atributo de los otros elementos de la lista.

Entonces ... El código que he escrito es invocado por un manejador de eventos y desea aplicar mods en todos los artículos bajo una cierta carpeta.

Esto funciona para artículos (como archivos, etc.).Cuando analice una subcarpeta y encuentre que el tipo de contenido correcto intenta modificar la columna, pero no se ha aplicado modificar (sin excepción y depuración, se pasa cada instrucción.)

¿Alguna sugerencia?

¡Gracias!

private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS)
   {
       foreach (SPFile spfile in folder.Files) 
       {
           this.EventFiringEnabled = false;
           spfile.Item[fieldRS] = RagioneSociale;
           spfile.Item.SystemUpdate();
           this.EventFiringEnabled = true;
       }

       foreach (SPFolder spfolder in folder.SubFolders)
       {
           if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA))))
           {
               this.EventFiringEnabled = false;
               folder.Item[fieldRS] = RagioneSociale;
               folder.Item.SystemUpdate();
               this.EventFiringEnabled = true;
           }
           RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS);            }
   }

¿Fue útil?

Solución

private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS) 
 { 
     foreach (SPFile spfile in folder.Files)  
   { 
       this.EventFiringEnabled = false; 
       spfile.Item[fieldRS] = RagioneSociale; 
       spfile.Item.SystemUpdate(); 
       this.EventFiringEnabled = true; 
   } 

   foreach (SPFolder spfolder in folder.SubFolders) 
   { 
       if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA)))) 
       { 
           //I MUST GET SPFOLDER and NOT folder element...
           this.EventFiringEnabled = false; 
           spfolder.Item[fieldRS] = RagioneSociale; 
           spfolder.Item.SystemUpdate(); 
           this.EventFiringEnabled = true; 
       } 
       RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS);            } 

}

Licenciado bajo: CC-BY-SA con atribución
scroll top