Пример #1
0
        /// <summary>
        /// Saves a collection of <see cref="IMediaType"/> objects
        /// </summary>
        /// <param name="mediaTypes">Collection of <see cref="IMediaType"/> to save</param>
        /// <param name="userId">Optional Id of the user savging the MediaTypes</param>
        public void Save(IEnumerable <IMediaType> mediaTypes, int userId = 0)
        {
            var asArray = mediaTypes.ToArray();

            if (SavingMediaType.IsRaisedEventCancelled(new SaveEventArgs <IMediaType>(asArray), this))
            {
                return;
            }

            using (new WriteLock(Locker))
            {
                var uow = _uowProvider.GetUnitOfWork();
                using (var repository = _repositoryFactory.CreateMediaTypeRepository(uow))
                {
                    foreach (var mediaType in asArray)
                    {
                        mediaType.CreatorId = userId;
                        repository.AddOrUpdate(mediaType);
                    }

                    //save it all in one go
                    uow.Commit();
                }

                UpdateContentXmlStructure(asArray.Cast <IContentTypeBase>().ToArray());
            }

            SavedMediaType.RaiseEvent(new SaveEventArgs <IMediaType>(asArray, false), this);
            Audit.Add(AuditTypes.Save, string.Format("Save MediaTypes performed by user"), userId, -1);
        }
Пример #2
0
        /// <summary>
        /// Saves a collection of <see cref="IMediaType"/> objects
        /// </summary>
        /// <param name="mediaTypes">Collection of <see cref="IMediaType"/> to save</param>
        /// <param name="userId">Optional Id of the user savging the MediaTypes</param>
        public void Save(IEnumerable <IMediaType> mediaTypes, int userId = 0)
        {
            if (SavingMediaType.IsRaisedEventCancelled(new SaveEventArgs <IMediaType>(mediaTypes), this))
            {
                return;
            }

            var uow = _uowProvider.GetUnitOfWork();

            using (var repository = _repositoryFactory.CreateMediaTypeRepository(uow))
            {
                foreach (var mediaType in mediaTypes)
                {
                    mediaType.CreatorId = userId;
                    repository.AddOrUpdate(mediaType);
                }

                //save it all in one go
                uow.Commit();

                SavedMediaType.RaiseEvent(new SaveEventArgs <IMediaType>(mediaTypes, false), this);
            }

            Audit.Add(AuditTypes.Save, string.Format("Save MediaTypes performed by user"), userId, -1);
        }
Пример #3
0
        /// <summary>
        /// Saves a single <see cref="IMediaType"/> object
        /// </summary>
        /// <param name="mediaType"><see cref="IMediaType"/> to save</param>
        /// <param name="userId">Optional Id of the user saving the MediaType</param>
        public void Save(IMediaType mediaType, int userId = 0)
        {
            if (SavingMediaType.IsRaisedEventCancelled(new SaveEventArgs <IMediaType>(mediaType), this))
            {
                return;
            }

            var uow = _uowProvider.GetUnitOfWork();

            using (var repository = _repositoryFactory.CreateMediaTypeRepository(uow))
            {
                mediaType.CreatorId = userId;
                repository.AddOrUpdate(mediaType);
                uow.Commit();

                SavedMediaType.RaiseEvent(new SaveEventArgs <IMediaType>(mediaType, false), this);
            }

            Audit.Add(AuditTypes.Save, string.Format("Save MediaType performed by user"), userId, mediaType.Id);
        }
Пример #4
0
        /// <summary>
        /// Saves a single <see cref="IMediaType"/> object
        /// </summary>
        /// <param name="mediaType"><see cref="IMediaType"/> to save</param>
        /// <param name="userId">Optional Id of the user saving the MediaType</param>
        public void Save(IMediaType mediaType, int userId = 0)
        {
            if (SavingMediaType.IsRaisedEventCancelled(new SaveEventArgs <IMediaType>(mediaType), this))
            {
                return;
            }

            using (new WriteLock(Locker))
            {
                var uow = UowProvider.GetUnitOfWork();
                using (var repository = RepositoryFactory.CreateMediaTypeRepository(uow))
                {
                    ValidateLocked(mediaType); // throws if invalid
                    mediaType.CreatorId = userId;
                    repository.AddOrUpdate(mediaType);
                    uow.Commit();
                }

                UpdateContentXmlStructure(mediaType);
            }

            SavedMediaType.RaiseEvent(new SaveEventArgs <IMediaType>(mediaType, false), this);
            Audit(AuditType.Save, string.Format("Save MediaType performed by user"), userId, mediaType.Id);
        }