2013-01-11 5 views
1

Вот фон:Доступ к документам из docset

Существует docset, который содержит документы. Эти документы имеют уникальные ценные бумаги. Когда я изменяю определенное свойство docset, в обработчике событий я хочу, чтобы документы обновили их безопасность соответственно. (Скорее всего, либо с помощью другого обработчика событий, который изменяет безопасность документа, либо напрямую вызывает функцию, которая обновляет безопасность.)

Вопрос: Охрана в стороне, возможно ли, и если да, как получить доступ к документам в пределах докета? то есть из docset как SPItemEventProperties.

Пример: я ожидал бы выглядеть примерно так ...

public override void ItemUpdated(SPItemEventProperties properties) 
{ 
    //... other stuff 
    string oldDiv = Convert.ToString(properties.BeforeProperties["Division"]); 
    string newDiv = Convert.ToString(properties.AfterProperties["Division"]); 
    if (oldDiv != newDiv) 
    { 
    try 
     { 
     // update each document (that has security "My Division Team") 
     foreach (documentx in properties.listitem.????) { 
      if (documentx.securitylevel == "my division team") { 
      updatesecurity(documentx); // this is my own custom function 
}}} 

Пожалуйста, поправьте меня, если вопрос не имеет смысла.

+1

Docset - это просто папка с метаданными. Попробуйте выполнить поиск в папке, названной как ваш docset –

ответ

1

Это возможно. Как указывает Стив Б выше, он требует обработки документа в виде папки. Магическая строка кода в этом случае:

SPFileCollection docsinproject = properties.ListItem.Folder.Files; 
foreach (SPFile doc in docsinproj) { .... } 
Смежные вопросы