2012-03-19 8 views
1

私はSharePoint開発を初めて経験しました。私は次のロジックのコードをいくつか追加する必要があります。Sharepointワークフローのヘルプが必要

  1. タスク項目の前のタイトルと新しいタイトルが同じかどうかを確認する必要があります。
  2. ない場合は、前のタイトル
  3. を含むすべてのアイテムは、そのタイトルを更新して下さい
  4. タスクリストを照会します。ここで

私の擬似コードです:

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); 
} 
関連する問題