Exemple #1
0
        /// <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));
            }
        }