/// <summary> /// Saves a <see cref="RelationType"/> /// </summary> /// <param name="relationType">RelationType to Save</param> public void Save(IRelationType relationType) { using (var scope = ScopeProvider.CreateScope()) { var saveEventArgs = new SaveEventArgs <IRelationType>(relationType); if (scope.Events.DispatchCancelable(SavingRelationType, this, saveEventArgs)) { scope.Complete(); return; } _relationTypeRepository.Save(relationType); scope.Complete(); saveEventArgs.CanCancel = false; scope.Events.Dispatch(SavedRelationType, this, saveEventArgs); } }
/// <inheritdoc /> public void Save(IRelationType relationType) { using (var scope = ScopeProvider.CreateScope()) { var saveEventArgs = new SaveEventArgs <IRelationType>(relationType); if (scope.Events.DispatchCancelable(SavingRelationType, this, saveEventArgs)) { scope.Complete(); return; } _relationTypeRepository.Save(relationType); Audit(AuditType.Save, Constants.Security.SuperUserId, relationType.Id, $"Saved relation type: {relationType.Name}"); scope.Complete(); saveEventArgs.CanCancel = false; scope.Events.Dispatch(SavedRelationType, this, saveEventArgs); } }
/// <inheritdoc /> public void Save(IRelationType relationType) { using (IScope scope = ScopeProvider.CreateScope()) { EventMessages eventMessages = EventMessagesFactory.Get(); var savingNotification = new RelationTypeSavingNotification(relationType, eventMessages); if (scope.Notifications.PublishCancelable(savingNotification)) { scope.Complete(); return; } _relationTypeRepository.Save(relationType); Audit(AuditType.Save, Cms.Core.Constants.Security.SuperUserId, relationType.Id, $"Saved relation type: {relationType.Name}"); scope.Complete(); scope.Notifications.Publish(new RelationTypeSavedNotification(relationType, eventMessages).WithStateFrom(savingNotification)); } }