Esempio n. 1
0
        /// <summary>
        ///     Indicates that notification should not occur for this action
        /// </summary>
        /// <param name="action"></param>
        public static void DontNotify(NonNotifiedAction action)
        {
            try
            {
                NotificationMutex.WaitOne();
                _dontNotifyCount += 1;
                if (_dontNotifyCount == 1)
                {
                    ControllersManager.DesactivateAllNotifications();
                }
                NotificationMutex.ReleaseMutex();

                action();
            }
            finally
            {
                NotificationMutex.WaitOne();
                _dontNotifyCount -= 1;
                if (_dontNotifyCount == 0)
                {
                    ControllersManager.ActivateAllNotifications();
                }
                NotificationMutex.ReleaseMutex();
            }
        }