In Sharepoint, the attached item events are fired whenever you perform an item.Update(),so if you to want to restrict it for event firing you can use following code,
class
DisabledItemEventsScope : SPItemEventReceiver, IDisposable
{
bool
oldValue;
public
DisabledItemEventsScope()
{
this
.oldValue =
base
.EventFiringEnabled;
base
.EventFiringEnabled =
false
;
}
#region IDisposable Members
public
void
Dispose()
{
base
.EventFiringEnabled = oldValue;
}
#endregion
}
Now we can use this class together with the using syntax to create a scope within all item event firing is disabled.
using
(DisabledItemEventsScope scope =
new
DisabledItemEventsScope())
{
item.SystemUpdate();
// will NOT fire events
}
item.SystemUpdate();
// will fire events again
or other way to achieve this are,
public static class SPListItemExtension
{
public static void UpdateDisableItemEvents(this SPListItem item)
{
using (DisabledItemEventsScope scope = new DisabledItemEventsScope())
{
item.Update();
}
}
}
and call it in your code as follows:
item.UpdateDisableItemEvents();