2012-03-19 4 views
1

저는 셰어 포인트 개발에 초보자이며 할일이 있습니다. 다음 논리에 대해 몇 줄의 코드를 추가해야합니다.Sharepoint 워크 플로우에서 도움이 필요하십니까

  1. 작업 항목의 이전 제목과 새 제목이 같은지 확인해야합니다. 그렇지 않은 경우
  2. 이전 제목을
  3. 업데이트 자신의 타이틀을 포함하는 모든 항목을 찾기 작업 목록을 쿼리합니다.

    public override void ItemUpdating(SPItemEventProperties properties) 
    { 
    try { 
         this.DisableEventFiring(); 
         //Need to write my logic here 
    
         base.ItemUpdating(properties); 
        } 
        catch (Exception ex) { 
    
        } 
        finally { 
         this.EnableEventFiring(); 
        } 
    } 
    

    누군가가 어떻게 위에서 언급 한 논리에 대한 코드를 작성하는 나를 인도 할 수 : 여기

내 의사 코드이다? 비슷한 논리를 가진 샘플 코드가 있다면 공유하십시오. 그것은 나를 위해 도움이 될 것입니다.

미리 감사드립니다.

답변

1

이 코드는 도움이됩니다. 어쩌면 당신의 필요에 맞게 조정할 필요가 있지만 액세스해야하는 속성은 동일합니다.

public override void ItemUpdating(SPItemEventProperties properties) 
{ 
    //this will get your title before updating 
    var oldName = properties.ListItem["Title"].ToString(); 

    //and this will get the new title 
    var newName = properties.AfterProperties["Title"].ToString(); 
    if (newName != oldName) 
    { 
    using (var site = new SPSite("http://yoursitename")) 
    using (var web = site.OpenWeb()) 
    { 
     var list = web.Lists["Tasks"]; 
     var items = list.Items.OfType<SPListItem>().Where(i => (string) i["Title"] == oldName); 

     foreach (var item in items) 
     { 
     item["Title"] = newName; 
     item.Update(); 
     } 
    } 
    } 
base.ItemUpdating(properties); 
} 
관련 문제