/// <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); }
/// <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); }
/// <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); }
/// <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); }