Mais um post com dica de Sharepoint. Esses dias precisei usar a função “Alert me” em umas listas mas precisei implementar via código. A função é muito simples e usei o próprio SPAlert nativo do Sharepoint (Microsoft.Sharepoint.dll).

Para isso, eu criei um método que retorna um valor booleano quando criar ou não (por algum motivo) o alerta.


public bool AlertME(string urlSITE, string TituloAlerta, SPListItem itemAlerta)
{
   bool alertado = false;
   try
   {
      using (SPSite site = new SPSite(urlSITE))
      {
         SPWeb web = site.OpenWeb();
         SPUser userLogged = web.SiteUsers.GetByID(SPContext.Current.Web.CurrentUser.ID);
         SPAlert _alert = userLogged.Alerts.Add();
         _alert.AlertType = SPAlertType.Item;
         _alert.AlertFrequency = SPAlertFrequency.Immediate;
         _alert.EventType = SPEventType.All;
         _alert.AlwaysNotify = true;
         _alert.Title = TituloAlerta;
         _alert.Item = itemAlerta;
         _alert.Update(true);
         alertado = true;
      }
   }
   catch
   {
     alertado = false;
   }
   return alertado;
}

A função é simples. Quando clicar em um botão que eu criei, esse método será acionado tendo como parametro uma string com o endereço do site onde o alerta será criado, uma string com o título do alerta e um SPListItem que é o item que será “alertado”.

O que eu defini para meu alerta:

SPAlertType.Item = significa que o alerta está associado à um item;

SPAlertFrequency.Immediate = significa que o alerta será enviado imediatamente assim que o item da lista for alterado e salvo;

SPEventType.All = o alerta será enviado para qualquer ação que seja feita no item da lista;

Aguardem mais dicas!

:D

EDIT: Segue link de referência Microsoft.Sharepoint.SPAlert Class