在Sharepoint工作流程中需要帮助

时间:2012-03-19 11:50:30

标签: sharepoint sharepoint-2010

我是分享点开发的新手,我有任务可以做。我需要为以下逻辑添加几行代码。

  1. 需要检查以前的标题和任务项的新标题是否相同。
  2. 如果不是,则查询任务列表
  3. 查找包含上一个标题的所有项目
  4. 更新他们的头衔。
  5. 这是我的伪代码:

    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 个答案:

答案 0 :(得分: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);
}