Нужна помощь в рабочем процессе Sharepoint - PullRequest
1 голос
/ 19 марта 2012

Я новичок в разработке sharepoint, и передо мной стоит задача.Мне нужно добавить несколько строк кода для следующей логики.

  1. Необходимо проверить, совпадают ли предыдущий заголовок и новый заголовок элементов задачи.
  2. Если нет, то запросите задачуlist
  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 Ответ

1 голос
/ 25 июня 2012

Этот код может вам помочь.Возможно, вам нужно адаптировать его для ваших нужд, но свойства, к которым вам нужно получить доступ, одинаковы.

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...