Hi Brenden,
This is not possible out of the box, but I have been able to use quite a simple and elegant workaround by passing in the RequestStockHelper values between pages. The idea is that in your method you use something like:
var user = UserInfoProvider.GetUserInfo("Andy");
if (user != null)
{
RequestStockHelper.Add("DontFireGlobalEvent", "1");
user.FirstName = "new first name"
user.Update();
}
And in global event you get the value out of RequestStockHelper using:
var useUpdateEvent = ValidationHelper.GetString(RequestStockHelper.GetItem("UseUpdateEvent"), "0");
Now all you need to do is to create an "if" condition inside the global event in order to see if your code should get executed. The global event itself will of course get fired so its not exactly bypassing it, but it should do the work.
Additionally we have a CMSActionContext which can be used to stop certain logging (WF tasks, Synchronization tasks, Event log events etc..) which can be used like:
using (var ac = new CMSActionContext(){
LogEvents = false,
LogSynchronization = false,
LogIntegration = false,
LogWebFarmTasks = false
})
{
// code here
}
However there is no trigger for global events. This might be interesting though if you would be in a similar situation with other events.
Hope it helps!
Kind regards,
Richard Sustek