0

在我的共享点网站上有一个奇怪的警报行为。

我有一个文档库,我想在添加、更新、删除文件夹或文档时向特定用户添加警报。不得为特定用户触发警报。

物品接收者:

 public override void ItemAdded(SPItemEventProperties properties)
     {
        AlertManager manager = new AlertManager(properties.List, properties.Web);

        manager.UpdateAlerts();

        base.ItemAdded(properties);
    }

我有一种方法可以检查某个用户组的每个用户是否已经收到警报。如果没有我加一个。

添加警报的方法:

 private void CreateUserAlerts(SPUser user)
    {
        SPAlert newAlert = user.Alerts.Add();
        newAlert.Title = "AlertTitle" ;
        newAlert.AlertType = SPAlertType.List;
        newAlert.List = currentList;
        newAlert.DeliveryChannels = SPAlertDeliveryChannels.Email;
        newAlert.EventType = SPEventType.All;
        newAlert.AlertFrequency = SPAlertFrequency.Immediate;

        string userFilter = "userLoginNoTriggerALert";

        newAlert.Filter = "<Query><Neq><FieldRef Name=\"Author/New\"  /><Value type=\"Text\">" + userFilter + "</Value></Neq></Query>";

        newAlert.Update(true);
    }

对于添加的每个第一个文件夹/文档,都会触发警报,就好像没有考虑过滤器一样。但是之后一切都按预期工作。

如果有人有想法。

4

0 回答 0