diff --git a/src/Umbraco.Core/Persistence/RepositoryFactory.cs b/src/Umbraco.Core/Persistence/RepositoryFactory.cs
index 07028663e3..65637f74c7 100644
--- a/src/Umbraco.Core/Persistence/RepositoryFactory.cs
+++ b/src/Umbraco.Core/Persistence/RepositoryFactory.cs
@@ -1,5 +1,6 @@
using Umbraco.Core.Configuration;
using System;
+using System.ComponentModel;
using Umbraco.Core.Cache;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
@@ -225,6 +226,13 @@ namespace Umbraco.Core.Persistence
return new PartialViewMacroRepository(uow, FileSystemProviderManager.Current.MacroPartialsFileSystem);
}
+ public virtual IStylesheetRepository CreateStylesheetRepository(IUnitOfWork uow)
+ {
+ return new StylesheetRepository(uow, FileSystemProviderManager.Current.StylesheetsFileSystem);
+ }
+
+ [Obsolete("Do not use this method, use the method with only the single unit of work parameter")]
+ [EditorBrowsable(EditorBrowsableState.Never)]
public virtual IStylesheetRepository CreateStylesheetRepository(IUnitOfWork uow, IDatabaseUnitOfWork db)
{
return new StylesheetRepository(uow, FileSystemProviderManager.Current.StylesheetsFileSystem);
@@ -348,9 +356,6 @@ namespace Umbraco.Core.Persistence
_sqlSyntax);
}
- internal IStylesheetRepository CreateStylesheetRepository(IScopeUnitOfWork uow)
- {
- return new StylesheetRepository(uow, FileSystemProviderManager.Current.StylesheetsFileSystem);
- }
+
}
}
diff --git a/src/Umbraco.Core/Services/FileService.cs b/src/Umbraco.Core/Services/FileService.cs
index 8361541ff8..74f72fbb8c 100644
--- a/src/Umbraco.Core/Services/FileService.cs
+++ b/src/Umbraco.Core/Services/FileService.cs
@@ -45,7 +45,7 @@ namespace Umbraco.Core.Services
/// An enumerable list of objects
public IEnumerable GetStylesheets(params string[] names)
{
- using (var repository = RepositoryFactory.CreateStylesheetRepository(_fileUowProvider.GetUnitOfWork(), UowProvider.GetUnitOfWork()))
+ using (var repository = RepositoryFactory.CreateStylesheetRepository(_fileUowProvider.GetReadOnlyUnitOfWork()))
{
return repository.GetAll(names);
}
@@ -58,7 +58,7 @@ namespace Umbraco.Core.Services
/// A object
public Stylesheet GetStylesheetByName(string name)
{
- using (var repository = RepositoryFactory.CreateStylesheetRepository(_fileUowProvider.GetUnitOfWork(), UowProvider.GetUnitOfWork()))
+ using (var repository = RepositoryFactory.CreateStylesheetRepository(_fileUowProvider.GetReadOnlyUnitOfWork()))
{
return repository.Get(name);
}
@@ -71,21 +71,22 @@ namespace Umbraco.Core.Services
///
public void SaveStylesheet(Stylesheet stylesheet, int userId = 0)
{
- using (var uow = _fileUowProvider.GetUnitOfWork())
+ var uow = _fileUowProvider.GetUnitOfWork();
+ using (var repository = RepositoryFactory.CreateStylesheetRepository(uow))
{
if (SavingStylesheet.IsRaisedEventCancelled(new SaveEventArgs(stylesheet), this, uow.EventManager))
- return;
-
- using (var repository = RepositoryFactory.CreateStylesheetRepository(uow, UowProvider.GetUnitOfWork()))
{
- repository.AddOrUpdate(stylesheet);
uow.Commit();
-
- SavedStylesheet.RaiseEvent(new SaveEventArgs(stylesheet, false), this);
+ return;
}
- Audit(AuditType.Save, string.Format("Save Stylesheet performed by user"), userId, -1);
+ repository.AddOrUpdate(stylesheet);
+ uow.Commit();
+
+ SavedStylesheet.RaiseEvent(new SaveEventArgs(stylesheet, false), this, uow.EventManager);
}
+
+ Audit(AuditType.Save, string.Format("Save Stylesheet performed by user"), userId, -1);
}
///
@@ -96,21 +97,28 @@ namespace Umbraco.Core.Services
public void DeleteStylesheet(string path, int userId = 0)
{
var uow = _fileUowProvider.GetUnitOfWork();
- using (var repository = RepositoryFactory.CreateStylesheetRepository(uow, UowProvider.GetUnitOfWork()))
+ using (var repository = RepositoryFactory.CreateStylesheetRepository(uow))
{
var stylesheet = repository.Get(path);
- if (stylesheet == null) return;
+ if (stylesheet == null)
+ {
+ uow.Commit();
+ return;
+ }
if (DeletingStylesheet.IsRaisedEventCancelled(new DeleteEventArgs(stylesheet), this, uow.EventManager))
+ {
+ uow.Commit();
return;
+ }
repository.Delete(stylesheet);
uow.Commit();
- DeletedStylesheet.RaiseEvent(new DeleteEventArgs(stylesheet, false), this);
-
- Audit(AuditType.Delete, string.Format("Delete Stylesheet performed by user"), userId, -1);
+ DeletedStylesheet.RaiseEvent(new DeleteEventArgs(stylesheet, false), this, uow.EventManager);
}
+
+ Audit(AuditType.Delete, string.Format("Delete Stylesheet performed by user"), userId, -1);
}
///
@@ -122,7 +130,7 @@ namespace Umbraco.Core.Services
{
var uow = _fileUowProvider.GetUnitOfWork();
- using (var repository = RepositoryFactory.CreateStylesheetRepository(uow, UowProvider.GetUnitOfWork()))
+ using (var repository = RepositoryFactory.CreateStylesheetRepository(uow))
{
return repository.ValidateStylesheet(stylesheet);
}
@@ -137,7 +145,7 @@ namespace Umbraco.Core.Services
/// An enumerable list of objects
public IEnumerable