/// <summary> /// Deletes an <see cref="IMacro"/> /// </summary> /// <param name="macro"><see cref="IMacro"/> to delete</param> /// <param name="userId">Optional id of the user deleting the macro</param> public void Delete(IMacro macro, int userId = Constants.Security.SuperUserId) { using (var scope = ScopeProvider.CreateScope()) { var deleteEventArgs = new DeleteEventArgs <IMacro>(macro); if (scope.Events.DispatchCancelable(Deleting, this, deleteEventArgs)) { scope.Complete(); return; } _macroRepository.Delete(macro); deleteEventArgs.CanCancel = false; scope.Events.Dispatch(Deleted, this, deleteEventArgs); Audit(AuditType.Delete, userId, -1); scope.Complete(); } }
/// <summary> /// Deletes an <see cref="IMacro"/> /// </summary> /// <param name="macro"><see cref="IMacro"/> to delete</param> /// <param name="userId">Optional id of the user deleting the macro</param> public void Delete(IMacro macro, int userId = Cms.Core.Constants.Security.SuperUserId) { using (ICoreScope scope = ScopeProvider.CreateCoreScope()) { EventMessages eventMessages = EventMessagesFactory.Get(); var deletingNotification = new MacroDeletingNotification(macro, eventMessages); if (scope.Notifications.PublishCancelable(deletingNotification)) { scope.Complete(); return; } _macroRepository.Delete(macro); scope.Notifications.Publish(new MacroDeletedNotification(macro, eventMessages).WithStateFrom(deletingNotification)); Audit(AuditType.Delete, userId, -1); scope.Complete(); } }