Adding events to MacroService

This commit is contained in:
Morten Christensen
2012-12-10 14:59:33 -01:00
parent 0613a422fb
commit f114b06531

View File

@@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Auditing;
@@ -73,11 +74,21 @@ namespace Umbraco.Core.Services
/// <param name="userId">Optional id of the user deleting the macro</param>
public void Delete(IMacro macro, int userId = -1)
{
var repository = _macroRepository;
repository.Delete(macro);
_unitOfWork.Commit();
var e = new DeleteEventArgs();
if (Deleting != null)
Deleting(macro, e);
Audit.Add(AuditTypes.Delete, "Delete Macro performed by user", userId > -1 ? userId : 0, -1);
if (!e.Cancel)
{
var repository = _macroRepository;
repository.Delete(macro);
_unitOfWork.Commit();
if (Deleted != null)
Deleted(macro, e);
Audit.Add(AuditTypes.Delete, "Delete Macro performed by user", userId > -1 ? userId : 0, -1);
}
}
/// <summary>
@@ -87,10 +98,20 @@ namespace Umbraco.Core.Services
/// <param name="userId">Optional Id of the user deleting the macro</param>
public void Save(IMacro macro, int userId = -1)
{
_macroRepository.AddOrUpdate(macro);
_unitOfWork.Commit();
var e = new SaveEventArgs();
if (Saving != null)
Saving(macro, e);
Audit.Add(AuditTypes.Save, "Save Macro performed by user", userId > -1 ? userId : 0, -1);
if (!e.Cancel)
{
_macroRepository.AddOrUpdate(macro);
_unitOfWork.Commit();
if (Saved != null)
Saved(macro, e);
Audit.Add(AuditTypes.Save, "Save Macro performed by user", userId > -1 ? userId : 0, -1);
}
}
/// <summary>
@@ -111,5 +132,27 @@ namespace Umbraco.Core.Services
{
return MacroPropertyTypeResolver.Current.MacroPropertyTypes.FirstOrDefault(x => x.Alias == alias);
}
#region Event Handlers
/// <summary>
/// Occurs before Delete
/// </summary>
public static event EventHandler<DeleteEventArgs> Deleting;
/// <summary>
/// Occurs after Delete
/// </summary>
public static event EventHandler<DeleteEventArgs> Deleted;
/// <summary>
/// Occurs before Save
/// </summary>
public static event EventHandler<SaveEventArgs> Saving;
/// <summary>
/// Occurs after Save
/// </summary>
public static event EventHandler<SaveEventArgs> Saved;
#endregion
}
}