BeforeProperties y AfterProperties en EventReceivers


Seguro que a muchos os ha pasado a la hora de usar las BeforeProperties o AfterProperties a la hora de programar un EventReceiver en SharePoint. ¿Quién no ha usado equivocadamente alguna en el evento equivocado y ha recibido a cambio una estupenda excepción?, a mi me ha pasado, bueno me pasaba hasta que encontré la tabla que comparto hoy, y que la rescato porque en breve voy a necesitarla y así tengo un sitio fácil al que acudir para recordarlo, (seré torpe pero de memoria me aprendo cada vez menos cosas, prefiero tener las referencias cerca XD).

Pues lo dicho os dejo la tabla que también incluye el valor que tiene la propiedad ListItem del objeto SPItemEventProperties y el enlace al blog donde la encontré, gran trabajo esa recopilación:

Listas

List BeforeProperties AfterProperties properties.ListItem
ItemAdding No value New value Null
ItemAdded No value New value New value
ItemUpdating No value Changed value Original value
ItemUpdated No value Changed value Changed value
ItemDeleting No value No value Original value
ItemDeleted No value No value Null

Bibliotecas de Documentos:

Library BeforeProperties AfterProperties properties.ListItem
ItemAdding No value No value Null
ItemAdded No value No value New value
ItemUpdating Originalvalue Changed value Original value
ItemUpdated Original value Changed value Changed value
ItemDeleting No value No value Original value
ItemDeleted No value No value Null

No se vosotros, a mi me resulta esa típica cosa para imprimir y tener a mano cuando programas para SharePoint. Aquí os dejo el enlace a la referencia, en donde lo encontré:

http://www.novolocus.com/2012/11/21/beforeproperties-and-afterproperties/

Por cierto, y hablando de EventReceivers y sus propiedades, os enlazo también la referencia a MSDN del objeto SPItemEventProperties

http://msdn.microsoft.com/es-es/library/microsoft.sharepoint.spitemeventproperties.aspx

Y la referencia a un artículo de buenas y malas prácticas al que acudo mucho últimamente

http://msdn.microsoft.com/en-us/library/bb687949(v=office.12).aspx

Aquí veréis que hablando de EventReceivers no se debe instanciar un objeto SPSite dentro. SPItemEventProperties nos permite instanciar directamente SPWeb por medio del método OpenWeb del objeto. Igualmente nos proporciona dos propiedades para acceder a la lista y el elemento que lanza el evento, con lo que no es necesario ni hacer SPWeb.GetList ni un SPQuery para encontrar el elemento. Saberlo ahorra mucho tiempo y trabajo.

Todo esto lo podéis ver en las referencias de MSDN que os he proporcionado, como os digo, es muy recomendable su lectura.

Saludos a todos y buen fin de semana.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s