1
Я знаю, что это может быть немного поздно для этого, но я все равно подумал, чтобы помочь следующему.
Я нашел решение / хак для этой проблемы.
Я полагаю, что когда оповещение создается из пользовательского интерфейса, система запускает SPAlert.update (), так что я придумал сделать аналогичное, но игнорировать обновление, вызванное из пользовательского интерфейса, чтобы я добавил пользовательское свойство в сумку собственности SPAlert.
public bool PreUpdate(SPAlert a, SPWeb web, bool newAlert, string properties)
{
if (CHECK_IF_SUPPRESSING_EMAIL && !a.Properties.ContainsKey("CustomUpdate"))
{
//add a property to identify this update
a.Properties.Add("CustomUpdate", ""); //can be called anything :)
a.Update(false);
//return false to ignore the update sent by the UI
return false;
}
else
{
//no changes here proceed with custom behaviour
return true;
}
}
Я проверил и, похоже, добился цели, надеюсь, это кому-нибудь поможет :)